考試月終於暫告一段落,終於有時間回歸Linux 的懷抱。不知怎的,在VMware Workstation 12 上登入Ubuntu後總是blue screen,明明昨天用terminal 也沒有事啊真令人摸不著頭腦@@ 算吧,反正有kali linux 用著吧。早晚VMware 會被換掉的。

哈哈,但是荒廢太久的關係,連賬號密碼也給忘了。被迫爬文:http://www.technig.com/reset-lost-password-of-kali-linux/

昨天剛開始,試了一下command:

pwd: print working directory

cd: change directory,cd ~ 就是回家的意思。

ls: list current directory

rm -rf <--哈哈這個當然沒有,也千萬不要試(remove, forced recursive: remove every OS files!!!)

在mkdir上除了一點狀況。實際上要用 mkdir -p /apple/orange/banana, 但是這個指令會overwrite existing directories. 就是,無論舊的、同名的directory裡面有什麼,都會被移除。還有,用rmdir 的話,如果targetted directory 不是空的,那就不能用這個。you must have to delete the sub-directories beneath it first.

哎,雖然學了普通話拼音都有這些年了,但是用拼音輸入還是很慢。還不如用英語輸入。

But noted you cannot delete the particular directory where you are in.

Also, for beginners, it's very easy to forget the '/' preceeding the name of directory. It is particular problematic when we are trying to use rmdir, cd, etc.

Another common error when using 'cd' is forgetting to place '/ <current_directory>' in front of the targetted directory. It causes an error "such directory does not exist"...

===========================

mkdir  vs mkdir -p

mkdir -p /apple: establish 'apple' directory in parent directory. Therefore, changes invisible in root.

mkdir /root/apple: changes visible in root

Similarly, 'rmdir /apple' would only remove that in parent directory, not that in the root.

Common mistake in using mkdir, rmdir, cd

$ mkdir root/pineapple     # missing '/' before 'root'

$ mkdir /root/pineapple/banana  #greedy declaration: pineapple missing directory

$ rmdir /pineapple/banana    # missing '/root': directory DNE

$ rmdir /root/pineapple/banana

$ cd /banana   #missing '/root' in changing directory; directory DNE

$ cd /root/banana

$ rm /root/pineapple    #rm: for removing non-empty directory; rmdir: remove empty dir

 ===========================

pushd vs popd

remark: pushd, pushes current directory into stack and go to the destinated directory.

!! No confusion: pushd does not push the destinated directory into stack!

popd, pop the lastest visited directory

===========================

File I/O

touch new.txt  #establish a new text file

cat >> new.txt << EOF  #open txt file for editing 

START RANDOM WRITING IN FILE

Hello World this is my first linux txt document!!

EOF  #indicate end of file-input; return to parent directory 

cat new.txt  #view the txt file in terminal 

cat << new.txt << EOF  #open txt file and move cursor to the end of file

Overwriting in process...

EOF

cat /root/new.txt

START RANDOM WRITING IN FILE

Hello World this is my first linux txt document!!

Overwriting in process...  #overwrite existing txt failed :(

echo > a.txt  #empty the txt file 

echo >> Hello! >> /root/hello_world.txt  #append at EOF

rm hello_world.txt   #directly remove a file in terminal 

===========================

How to check the type of shell your Unix/Linux is using

ps -p $$  #well, usually it's bash shell

===========================

To-slash, or not to slash

~# ls

> Documents  Music  Pictures

~# cd Documents  #access under current directory, need not '/'

c.f.

~# pwd

/root/Documents

~# cd /root/Pictures  #access directories not at current level, use '/'

** same principle for 'rmdir', e.g. rmdir apple, rmdir hello_world.txt, iff in current directory

===================

cp: copy file or directory

#this command bit-wise copy from one document to another

~# ls

a.txt

~# cp a.txt b.txt

~# ls

> a.txt  b.txt

~# mkdir something

~# ls

> a.txt  b.txt  something

~# cp -r something another

~#ls

> a.txt  b.txt  something  another

===========================

Forcefully remove non-empty directory

sudo rm -r somthing  # '-r' usually for directory-level command

c.f.

cd -r somthing anotherThing  #copy entire directory

===========================

Move a file from one place to another

~# pwd

> /root/temp

~# ls

> a.txt  b.txt  another

~# mv a.txt /root  #move file from one directory to next 

~# mv another /root   #move directory from one to another 

~# pushd /root

~# ls

a.txt  Documents  Music  Pictures  temp

~# cd temp

> b.txt another

===================

題外話:昨晚寫了一個小工具程序給哥哥,他好像很喜歡呢<3 太好了!原來路徑用程序下載時default的路徑就可以了,根本不用在batch當裡面動態產生。哎,真爬文爬死了。看來要認真的學batch的基礎。還有,原來哥哥都會用虛擬機,顆顆真棒!都說我的哥哥是宇宙最強的哈哈哈哈<3 瞎扯瞎遠了,言歸正傳。

每次開虛擬機linux terminal 都耗時很久,等到它開了已經沒有熱情了,還是用一下網上的好了:https://www.tutorialspoint.com/execute_bash_online.php

===================

Opening txt file in bash

less a.txt

q  #quit viewing txt

less vs cat

less a.txt b.txt   #error: less for openning one document only one in a time!

cat a.txt b.txt  #allowed

===================

結語

這篇可算是第一篇結案的文章,算是有頭有尾吧,哈哈。這裡都是非常基本的bash shell command lines。接下來可能的發展方向是學windows' command prompt,或是繼續發掘:https://www.gnu.org/software/bash/manual/bashref.html

但是無論如何,都會跟大家在新的一篇裡面見面咯:)

~~全文完~~

Linux Command Line(I): Beginner的更多相关文章

  1. Linux Command Line(II): Intermediate

    Prerequisite: Linux Command Line(I): Beginner ================================ File I/O $ cat > a ...

  2. 《The Linux Command Line》 读书笔记04 Linux用户以及权限相关命令

    Linux用户以及权限相关命令 查看身份 id:Display user identity. 这个命令的输出会显示uid,gid和用户所属的组. uid即user ID,这是账户创建时被赋予的. gi ...

  3. 《The Linux Command Line》 读书笔记02 关于命令的命令

    <The Linux Command Line> 读书笔记02 关于命令的命令 命令的四种类型 type type—Indicate how a command name is inter ...

  4. 《The Linux Command Line》 读书笔记01 基本命令介绍

    <The Linux Command Line> 读书笔记01 基本命令介绍 1. What is the Shell? The Shell is a program that takes ...

  5. Linux Command Line Basics

    Most of this note comes from the Beginning the Linux Command Line, Second Edition by Sander van Vugt ...

  6. Linux Command Line 解析

    Linux Command Line 解析 0 处理模型 Linux kernel的启动包括很多组件的初始化和相关配置,这些配置参数一般是通过command line进行配置的.在进行后续分析之前,先 ...

  7. 15 Examples To Master Linux Command Line History

    When you are using Linux command line frequently, using the history effectively can be a major produ ...

  8. 10 Interesting Linux Command Line Tricks and Tips Worth Knowing

    I passionately enjoy working with commands as they offer more control over a Linux system than GUIs( ...

  9. Reso | The Linux Command Line 的中文版

    http://book.haoduoshipin.com/tlcl/book/zh/ 本书是 The Linux Command Line 的中文版, 为大家提供了多种不同的阅读方式. 中英文双语版- ...

随机推荐

  1. PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/event.so'

    这是因为启动apche 的时候重复加载了php的动态库模块了, 将:/etc/php.d/ 目录下的event.ini中的内容注释掉或者将文件删除即可

  2. Linux下pecl命令无法执行的解决

    pecl install swoole 提示如下错误:bash: pecl: command not found执行yum install php-pear生效

  3. CSS active选择器与CSS hover选择器

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...

  4. 4.VUEX到底是什么

    关于vuex类的新闻最近很多,看到眼热就去查了下资料,然后扯出来一堆flux.redux.state.state之类的概念,以及大型工程必要性之类的.看官方手册也是昏昏然. 然而,我还是弄懂了!我准备 ...

  5. voa 2015 / 4 / 13

    couch potato : someone who likes to spend a lot of time sitting or lying down while watching televis ...

  6. AsyncTask onPreExecute方法用于在执行后台任务前做一些UI操作

    1.实例化 TableListsTask task = new TableListsTask(ServerIP,"ALL", MenuActivity.this);   //第三参 ...

  7. jsp实现上一页下一页翻页功能

    前段时间一直忙于期末考试和找实习,好久没写博客了. 这段时间做了个小项目,包含了翻页和富文本编辑器Ueditor的两个知识点,Ueditor玩的还不是很深,打算玩深后再写篇博客. 要实现翻页功能,只需 ...

  8. xtrabackup备份mysql数据库的使用方法

    xtrabackup是由percona提供的mysql备份工具,它是一款物理备份工具,通过连接数据库把数据库的数据备份出来.对于innodb存储引擎其支持全量备份和增量备份.对于myisam存储引擎只 ...

  9. [HDU1512/ZOJ2334]Monkey King-左偏树-可合并堆

    Problem Monkey King Solution 本题是裸的左偏树,一个模板就可以过了.对于每个操作对节点先删除/2再合并. 注意本题在HDU上评测特别坑,是多组数据,而且经常出现MLE的情况 ...

  10. Java项目集成SAP BO

    SAP BO报表查看需要登录SAP BO系统,为了方便公司希望将BO报表集成到OA系统中,所以参考网上资料加上与SAP BO的顾问咨询整理出一套通过Java来集成SAP BO的功能. SAPBO中的报 ...