
1. 工作目錄操作 pwd, ls, cd
1.1 pwd: print working direction (當(dāng)前在哪里)
linux中一些默認(rèn)符號(hào):
· 當(dāng)前目錄
·· 上一級(jí)目錄
~ 家目錄
/ 根目錄或目錄分隔符
1.2 cd: change direction (要到哪里去)

1.3 查看目錄內(nèi)容ls: list (這里有什么)
ls 列表顯示目錄內(nèi)容
| 常用參數(shù) | 含義 |
|---|---|
| ls -l | 長格式顯示文件或目錄信息,包含文件的屬性和權(quán)限數(shù)據(jù)等(long) |
| ls -a | 顯示所有包括隱藏的文件或目錄(all) |
| ls -h | 將文件容量以人類較易讀的方式(GB,kB等)列出來 (是和l一起用的:ls -lh) |
| ls -d | 顯示目錄本身屬性信息 (是和l一起用的:ls -ld) |
| ls -S | 以文件大小排序 Size(大寫) (是和l一起用的:ls -lS) |
| ls -t | 以修改的時(shí)間排序 (是和l一起用的:ls -lt) |
通配符?單字符 含其一或段[a,b,c-d] *任意
| 常見用法 | 含義 |
|---|---|
| ll | 和ls -la一樣(偷懶寫法) |
ll -th |
常用 |
ls ./*txt |
列出當(dāng)前目錄下以txt結(jié)尾的文件 |
2. 創(chuàng)建
2.1 創(chuàng)建目錄mkdir
mkdir -p/--parents 創(chuàng)建嵌套的目錄(見下面例子)
mkdir -m, --mode=模式,設(shè)定權(quán)限(777(owner-group-other),421(r- w-x))
mkdir -p pics/test1 #在當(dāng)前目錄下創(chuàng)建pics文件夾,在pics文件夾再創(chuàng)建一個(gè)test1文件夾
2.2 新建或修改文件相關(guān)時(shí)間touch
touch 新建文件或修改時(shí)間
touch -a修改訪問時(shí)間
touch -m更改修改時(shí)間
touch --d=”時(shí)間” 設(shè)定訪問與修改時(shí)間
touch file{1..5} 創(chuàng)建file1, file2, file3, file4, file5五個(gè)文件
-
vim是創(chuàng)建文件并往里面寫東西,比touch更常用
3. 操作文件
3.1 移動(dòng)或重命名mv
用法:

3.2 刪除目錄或文件rm
刪除就找不回來了,使用時(shí)需謹(jǐn)慎
rm -f 強(qiáng)制刪除目錄或文件
rm -r 遞歸刪除目錄或文件
rm -i 在刪除會(huì)先詢問用戶
3.3 復(fù)制文件或目錄cp (copy and paste)
cp 復(fù)制文件或目錄
cp readme.txt ./test/a.txt #復(fù)制并重命名
cp ~/.bashrc ~/Data/bashrc_bk #??對(duì)~/.bashrc做備份,以免誤刪
cp -r 遞歸復(fù)制文件或目錄
3.4 查找文件或目錄
find 在目錄中查找文件或目錄
參考:https://wangchujiang.com/linux-command/c/find.html
| 常用參數(shù) | 含義 |
|---|---|
| find -name | 目標(biāo)條件 按名稱查找 |
| find -iname | 查找文件或目錄的名稱,但是忽略大小寫 |
| find -type | 目標(biāo)條件 按類型查找 f文件 d目錄 b塊設(shè)備 c字符設(shè)備 |
| find -user xxx | 按所屬者查找 |
| find -size +10K | 按大小查找 +大于 -小于 |
| find -exec | 對(duì)找到的文件或目錄執(zhí)行shell 命令(由exec指定) |
| find -print | 將找到的文件輸出到設(shè)備或文件 |
4. 文本查看,操作,統(tǒng)計(jì)命令??
4.1 文件查看cat/tac, head/tail, less/more
- cat 查看文件內(nèi)容
常見參數(shù):
cat -A列出所有內(nèi)容,包括特殊字符,如制表符,換行符等等
cat -n打印出所有行號(hào),cat -b僅打印非空白行行號(hào)
cat >file 重定向,也就是可以在file中輸入內(nèi)容。輸入后可以使用Ctrl + C退出。
zcat:可以查看壓縮的文本文件;tac:逆向查看
- head查看前10行(默認(rèn));tail查看末尾10行
head/tail常結(jié)合管道符用于控制輸出行數(shù)
cat myfile | head -5
- more:逐頁查看,按空格翻頁,按回車換行,q退出
- less:上下左右鍵查看文本內(nèi)容;Enter鍵向下移動(dòng)一行;空格鍵翻頁;
/keyword查找關(guān)鍵詞;n和N進(jìn)行上下關(guān)鍵詞切換;q鍵退出;
常用參數(shù):
less -N:顯示行號(hào)
less -S:單行顯示
zless:查看壓縮文件
4.2 文件內(nèi)容統(tǒng)計(jì)wc
- wc
wc -l 統(tǒng)計(jì)行數(shù)
wc -w 統(tǒng)計(jì)字符串?dāng)?shù)
wc -c 統(tǒng)計(jì)字節(jié)數(shù)
cat readme.txt | wc -l
4.3 文本切割和合并cut, paste
- cut 文本切割(是按列來切割,準(zhǔn)確的說是按照字段來切割)
常見參數(shù):
cut -d指定分隔符,默認(rèn)\t;也可制定分隔符,比如使用h分隔,但只能使用單個(gè)字符。
cut -f輸出哪幾列(字段fields)
less -SN Data/example.gtf |cut -f 1,3-5,7 |head
# ??將Data/example.gtf文件按單行顯示并切割,顯示切割后1,3-5,7列的前10行
- paste 文本合并(不是上下合并 ,而是左右合并,相當(dāng)于R語言中的cbind)
常見參數(shù):
-d:指定分隔符(默認(rèn)是tab)
-s:按行合并
常見用法:
1. paste file1 file2
2. seq 20 | paste - - (將seq20每2行合并在一起)
4.4 排序sort
常見參數(shù):
sort -n:按照數(shù)值從小到大進(jìn)行排序
sort -V:字符串中含有數(shù)值時(shí),按照數(shù)值從小到大排序
sort -r:逆向排序
sort -k:指定區(qū)域(對(duì)哪一列進(jìn)行排序)
sort -t:指定分隔符

??在對(duì)數(shù)字的列進(jìn)行排序的時(shí)候,一定要先寫-n再用-k選擇列,否則結(jié)果會(huì)出錯(cuò)。
4.5 去除重復(fù)行uniq (sort的小尾巴)
uniq -c:統(tǒng)計(jì)每個(gè)字符串連續(xù)出現(xiàn)的行數(shù)
uniq比較懶,只能去除相鄰的重復(fù)行! 因此記得要跟sort連用!
4.6 字符替換tr
用法:tr 被替換的內(nèi)容 替換成的內(nèi)容
cat readme.txt | tr '' '$' #將空格替換成$
常見參數(shù):
-d:刪除指定字符
-s:縮減連續(xù)重復(fù)字符
4.7 查找文件內(nèi)容
grep 在內(nèi)容中查找含某字符串的行
grep 某字符串(可正則式) /etc/passwd
文本操作重要命令小結(jié)

5. 鏈接文件ln
分軟鏈接(常用)和硬鏈接(默認(rèn))
為什么要使用軟鏈接:1. 相當(dāng)于快捷方式,方便操作。2. 節(jié)省空間
常見參數(shù):不加參數(shù)即為硬鏈接,加上–s 參數(shù)即為軟鏈接,軟鏈接的作用類似快捷方式。
常見用法:ln –s Target Directory(鏈接誰,到哪去;將Target鏈接到Directory下。在鏈接的時(shí)候也可以像cp一樣進(jìn)行性重命名)
??做軟鏈接的時(shí)候一定要用絕對(duì)路徑
??刪除軟鏈接的時(shí)候不要用rm -r,否則會(huì)把鏈接過去的文件/文件夾中的內(nèi)容也刪掉
延伸:“軟鏈接”和“硬鏈接”的區(qū)別
6. 壓縮解壓文件
tar:Tape Archive
常用參數(shù):
-c 創(chuàng)建一個(gè)新的tar歸檔文件(創(chuàng)建壓縮文件)
-d 或 --decompress 或 --uncompress :解壓文件;
-r 或 --recursive :遞歸壓縮,指定文件夾下的所有文件被壓縮成單獨(dú)的 .gz 文件;
-v 或 --verbose :顯示指令執(zhí)行過程。
-x 從已有的tar歸檔文件中提取文件(解壓縮)
-f 輸出結(jié)果到文件或設(shè)備
-v 在處理文件時(shí)顯示文件(顯示處理進(jìn)度)
-j 將輸出重定向給gzip2命令
-z 將輸出重定向給gzip命令
常見用法:
解壓:tar [參數(shù)] [待解壓包]
tar -zxvf Data.tar.gz #-zxvf可以當(dāng)成固定用法,順序不能換
壓縮:tar [參數(shù)] <壓縮后文件名> [待壓縮文件/目錄]
tar -zcvf Data.tar.gz Data #-zcvf可以當(dāng)成固定用法,順序不能換

打包和壓縮的區(qū)別:
打包是指將一大堆文件或目錄變成一個(gè)總的文件
壓縮是將一個(gè)大的文件通過一些壓縮算法變成一個(gè)小文件。
Linux 中很多壓縮程序只能針對(duì)一個(gè)文件進(jìn)行壓縮,這樣當(dāng)你想要壓縮一大堆文件時(shí),你得先將這一大堆文件先打成一個(gè)包(tar命令),然后再用壓縮程序進(jìn)行壓縮(gzip、bzip2或zip命令)。
7. 文件查找命令
7.1 which命令??
環(huán)境變量PATH中保存了查找命令時(shí)需要遍歷的目錄,使用echo \$PATH可以查看當(dāng)前系統(tǒng)的環(huán)境變量包含的目錄。
which命令用于查找并顯示給定命令的絕對(duì)路徑,which指令會(huì)在環(huán)境變量$PATH設(shè)置的目錄里查找符合條件的文件 。也就是說,使用which命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。

語法:which [可執(zhí)行性的系統(tǒng)命令]
說明:which是根據(jù)使用者所配置的PATH變量內(nèi)的目錄去搜尋可運(yùn)行檔的!所以不同的PATH配置內(nèi)容所找到的命令不一樣。
7.2 whereis命令
與which功能相似的還有一條命令whereis,也可以查找到命令的絕對(duì)路徑。不同的是:which會(huì)列出這個(gè)命令的別名記錄,而whereis會(huì)顯示出這個(gè)命令的幫助文檔所在位置。
語法:whereis(選項(xiàng))(參數(shù))
| 選項(xiàng) | 說明 |
|---|---|
| -b | 只查找二進(jìn)制文件; |
| -B<目錄> | 只在設(shè)置的目錄下查找二進(jìn)制文件; |
| -f | 不顯示文件名前的路徑名稱; |
| -m | 只查找?guī)椭臋n; |
| -M<目錄> | 只在設(shè)置的目錄下查找說明文件; |
| -s | 只查找原始代碼文件; |
| -S<目錄> | 只在設(shè)置的目錄下查找 原始代碼文件; |
| -u | 查找不包含指定類型的文件。 |
whereis命令只能用于程序名的搜索,如果省略選項(xiàng),則返回所有信息。
7.3 locate命令
格式:locate [搜索關(guān)鍵字]
說明:
1.是linux特有的命令,尋找文件或目錄,最好用于快速定位系統(tǒng)命令,配置文件等。
2.雖然搜索速度很快,但有時(shí)會(huì)找不到
3.locate是在文件數(shù)據(jù)庫中查找的,所以速度會(huì)很快
4.但是如果數(shù)據(jù)庫中沒有包含這個(gè)文件的話,就會(huì)找不到

7.4 find??
find命令用于:在一個(gè)目錄(及子目錄)中搜索文件,可以指定匹配條件,如按文件名、文件類型、用戶等條件查找文件。
格式:find [路徑] [選項(xiàng)] filename
path路徑,表示從這個(gè)路徑下開始查找
| 選項(xiàng) | 說明 |
|---|---|
| -name filename | 查找名為filename的文件 |
| -size +/-大小 | 按照文件大小來查找,+大于,-小于 |
| -user username | 按文件所屬查找 |
| -ctime/ -atime/ -mtime | 以天為單位查找 |
| -cmin/ -amin/ -mmin | 以分鐘為單位查找 |
| -type | 按文件的類型 |
| -inum | 根據(jù)i節(jié)點(diǎn)進(jìn)行查找 |
| -group | 組名 按所屬組來查找 |
| -a /-o | and/or |
| -exec 或 -ok command {} : | 將查到的文件執(zhí)行command操作,{}和:之間有空格,固定格式。 |
如果find命令省略路徑不寫,表示從當(dāng)前路徑開始查找。find還可以結(jié)合通配符使用。
8. 其他常用命令
8.1 查看各命令的幫助手冊(cè)
man 命令名 查看命令幫助手冊(cè)
8.2 下載文件
wget
參考:https://wangchujiang.com/linux-command/c/wget.html
curl
參考:https://wangchujiang.com/linux-command/c/curl.html
8.3 設(shè)備監(jiān)控
top\df\free\du
sudo獲得root權(quán)限:
ubuntu默認(rèn)是不能以root賬號(hào)登陸系統(tǒng),遇到需要root權(quán)限時(shí),需要在命令前加上sudo,即可獲得root權(quán)限。