Linux基礎命令小結
註意:Linux嚴格區分大小寫
老男孩方法論經驗之談:
有一種方法叫做沒方法
有兩種方法,左右為難
有三種方法才叫有方法
停止一個命令:CTR + C
1、創建目錄
英文:make directorys
命令:mkdir
實例:三種方式
mkdir /data
cd /
mkdir data
cd /;mkdir data
mkdir x y z 表示同時創建多個目錄
mkdir -p /data/x/y 表示同時創建多級目錄(遞歸創建),切記不可用mkdir /data/x/y
2、查看目錄和文件
命令:ls (list)列表 列表目錄文件
參數:
-l (long)長格式
-d (directory)查看目錄
實例:
ls / 表示列出/(根)的所有目錄和文件
ls 表示列出當前目錄下的所有目錄和文件
ls /data 表示列出data目錄下的所有目錄和文件
ls -l / 表示列出/(根)下所有目錄和文件的詳細信息
ls -d 表示列出目錄(查看當前目錄)
3、切換目錄
英文:change directory
命令:cd
實例:
註意相對路徑和絕對路徑
cd / 表示切換到根目錄
cd /etc 表示切換到etc目錄
4、顯示當前路徑
英文:print work directory
命令:pwd
實例:
pwd 表示打印當前路徑
5、創建文件或更新時間戳
如果文件存在,則只更新時間戳
如果文件不存在,則創建文件
命令:touch
實例:三種方式
touch /data/oldboy.txt 表示在data目錄下創建oldboy.txt文件(如果文件已經存在,則不創建也不覆蓋,但會改變文件的時間屬性)
cd /data
touch oldboy.txt
cd /data;touch oldboy.txt
touch stu{1..10}.txt 表示連續創建多個文件,文件名為stu1.txt到stu10.txt
touch a.txt b.txt c.txt 表示同時創建多個文件
6、編輯和查看文件內容
命令一:vi
實例:
第一步:進入文件
vi oldboy.txt
第二步:進入編輯狀態
i
第三步:按鍵esc退出編輯狀態
第四步:保存編輯內容並退出文件
:wq 表示保存並退出文件
:q 表示退出文件,並不保存此次編輯內容
:q! 表示強制退出文件
命令二:echo
常配合一下兩個參數符號
符號參數
> 輸出重定向:把前面輸出的東西輸入到後面的文件中,會清楚文件原有內容
>> 追加重定向:把前面輸出的東西追加到後面文件內容尾部,不會清除文件原有內容
0<或< 輸入重定向:用於改變命令的輸入,後面指定輸入內容,前面跟文件名
0<<或<< 追加輸入重定向:後跟字符串,用來表示“輸入結束”,也可用ctrl+d來結束輸入
2> 錯誤重定向:把錯誤信息輸入到後邊的文件中,會刪除文件原有內容
2>> 錯誤追加重定向:把錯誤信息追加到後面的文件中,不會刪除文件原有內容
註意備份源文件
實例:
echo ‘I am study Linux‘ >oldboy.txt 表示,如果文件不存在,則創建文件並添加引號內內容,如果文件存在,引號內內容則會替換掉原有內容
echo "I love learning Linux" >>oldboy.txt 表示,如果文件不存在,則創建文件並添加引號內內容,如果文件存在,則會在原內容後面追加引號內內容
echo ‘
I
am
learning
Linux
now‘ >>oldboy.txt 表示追加多行內容
命令三:cat
查看和追加內容
實例:
cat oldboy.txt 表示查看內容
cat >>oldboy.txt<<EOF
I am learning Linux now !
Can you understand ?
EOF 表示追加EOF包裹的多行內容
命令四:vim
復雜編輯器
7、刪除文件和目錄
刪除命令要慎重使用
刪除前,一定要先做好備份工作
方法一:常用
命令:find
參數:-type
-type f 表示文件類型file
-type d 表示目錄類型directory
-type c 表示字符類型charactor
-type b 表示塊類型(磁盤)block
-name ‘文件名‘
-mtime +4 表示4天以前
-mtime 4 表示第4天
-mtime -4 表示最近4天
實例:
文件刪除
方法一:
第一步:查找文件
find /data -type f -name ‘b.txt‘
第二步:執行刪除操作
find /data -type f -name ‘b.txt‘ -exec rm {} \;
方法二:
單文件刪除
第一步:查找文件
find -type f -name ‘a.txt‘
第二步:執行刪除
find -type f -name ‘a.txt‘ |margs rm -f
批量刪除
第一步:查找文件
find -type f
第二步:執行刪除
find -type f |margs rm -f
目錄刪除
find /data -type d -name ‘*abc‘ -mtime +30 |xargs rm -fr 表示刪除目錄名以abc結尾的,修改日期為30天以前的目錄,慎用。
刪除空目錄
remdir z 表示如果z為空目錄則刪除,否則不刪除
方法二:慎用
英文:remove
命令:rm
參數:
-f (force)表示強制刪除(慎重使用)
-r (recursive)表示遞歸,可用於刪除目錄
實例:
rm -f b.txt 表示徹底刪除文件b.txt
rm -f -r b 表示徹底刪除目錄b
8、分組
命令:xargs
實例:
xargs -n 3 < b.txt 表示把b.txt裏面的內容按3個內容段為一組分組(每個內容段中間用空格分開)
9、拷貝
英文:copy
命令:cp
實例:
cp oldboy.txt /tmp/ 表示把文件oldboy.txt拷貝到目錄tmp下
cp -r /data /tmp 表示把data目錄拷貝到tmp目錄下
10、移動(剪切)
英文:move
命令:mv
實例:
mv /data /root 表示把data目錄移動到root目錄下
mv 1.txt x 表示把本級目錄下的1.txt文件移動到本級目錄下的x目錄
11、過濾需要的內容
命令:grep
註意加-v和不加-v的區別
實例:
grep -v oldboy 1.txt 表示過濾掉文件1.txt中的oldboy內容,並把其他內容打印出來
grep oldboy 1.txt 表示只取oldboy內容,其他過濾掉
cat 1.txt | grep -v oldboy 同上,不過上面效率更高,一般不這樣用(脫褲子放屁)
12、讀取文件內容前N行,默認讀前10行
命令:head
實例:
head -n 2 1.txt 表示讀取文件前兩行
head -a 1.txt 同上
head 1.txt 表示讀文件前10行,不加數量默認為前10行
13、讀取文件內容後N行,默認讀取前10行
命令:tail
實例:
tail -n 3 1.txt 表示讀取文件內容後3行
tail -3 1.txt 同上
tail 1.txt 表示默認讀取文件內容後10行
14、創建序列
命令:seq
實例:
seq 20 > 1.txt 表示創建20行序列
15、別名
作用:
給危險命令加一些保護參數,防止人為誤操作。
把很多復雜的字符串或命令變成一個簡單的字符串或命令。
命令:
alias 查看和設置別名
unalias 取消別名
實例:
alias cp=‘cp -i‘ 表示用cp -i代替cp
unalias cp 表示把cp的別名取消掉
centos linux 因別名問題引起的麻煩及解決技巧
http://oldboy.blog.51cto.com/2561410/699046
16、序列
命令:seq a(起始值) b(步長) c(結束值)
實例:
seq 20 表示創建序列1-20
seq 10 20 表示創建序列10-20
seq 10 2 20 表示創建序列10-20切步長為2
17、流編輯器,實現對文件的增、刪、改、替換、查
命令:sed stream
18、查看歷史命令
命令:history
實例:
history 查看所有歷史命令
history 20 查看最近的20條歷史命令
history -c 清空當前歷史命令
Linux基礎命令小結