Linux

一聊浅、文件基本操作

1.批量重命名
  • rename ‘s/.txt/.c/’ *.txt
  • rename ‘y/a-z/A-Z/’ .c
    sed命令?
    對于所有*.txt文件低匙,用第一個參數(shù)提供的正則表達式將.txt替換為.c
2.查看文件內容:
  • cat -n
  • tac ????
  • nl = cat -n
    • -b a\b
    • -n ln/rn/rz
      三者區(qū)別
  • mort /less filename
    • enter\space
    • h\q
  • tail
    -n 10
    -f 不停讀取文件最后某部分內容并顯示顽冶,用于動態(tài)查看日志。
    查看文件類型:file 强重,如file test.txt
    包括編碼格式

二、環(huán)境變量

3.環(huán)境變量與文件查找
變量類型:
    - 當前shell進程的私有【用戶自定義變量】  如temp=abc
    - shell內建變量
    - 環(huán)境變量:可直接定義佃声,也可從用戶自定義變量導入:export temp倘要。常用大寫表示
           - 子進程可以繼承父進程的環(huán)境變量
           - 關機、關shell會丟失,除非將環(huán)境變量設置為永久生效夭问。
    - 變量按生命周期分類:
        - 永久:需要修改配置文件曹铃,變量永久生效;
             - /etc/bashrc  存放shell變量
        - /etc/profile   存放環(huán)境變量
        -.profile:
        - 臨時:使用 export 命令行聲明即可铛只,變量在關閉 shell 時失效。
    - 兩個重要文件:
        - /etc/bashrc  存放shell變量
        - /etc/profile   存放環(huán)境變量
        -.profile:只對當前用戶永久生效直撤。而寫在 /etc/profile 里面的是對所有用戶永久生效蜕着,所以如果想要添加一個永久生效的環(huán)境變量,只需要打開 /etc/profile承匣,在最后加上你想添加的環(huán)境變量就好啦。

相關命令:
    set
    env
    export
如何查看某幾個文件區(qū)別嘉抒?/如何查看三個變量的區(qū)別:
    export | sort > export.txt
    env | sort >env.txt
    set | sort >set.txt

    vim diff env.txt  export.txt   set.txt
4.命令的查找路徑與順序

shell中執(zhí)行一個命令袍暴,會先去PATH變量中查找,如能查到到政模,則執(zhí)行。
PATH環(huán)境變量:存儲要執(zhí)行的文件所在路徑/目錄

如:在某個目錄下創(chuàng)建abc.sh腳本耗式,只有在該目錄下可運行趁猴,若想在任意地方運行,需要配置PATH變量儡司,添加該路徑。
PATH=$PATH:/home/shiyanlou/mybin

但是這樣存在問題:一旦關閉shell让蕾,該環(huán)境變量會失效。
解決方法:

  • 讓添加的環(huán)境變量全局有效探孝,即永久--修改配置文件profile

  • 每次shell啟動,自動執(zhí)行配置
    - 用戶目錄下會有個shell啟動時的自動執(zhí)行文件:zsh是.zshrc缸濒,bash是 .bashrc

    把環(huán)境變量的配置添加到.zshrc中:
    echo "PATH=$PATH:/home/shiyanlou/bin" >> .zshrc
    

注意:> 將標準輸出以覆蓋方式重定向到一個文件
>> 追加方式

5. 修改粱腻、刪除環(huán)境變量


變量刪除:
unset temp 刪除環(huán)境變量temp

6.環(huán)境變量生效
  • source .zshrc
  • . ./.zshrc 點為 source縮寫绍些,此時后面的文件必須指定完整的絕對或相對路徑名,source 則不需要柬批。
7.搜索文件
  • whereis 簡單快速
    只能搜索二進制文件(-b),man 幫助文件(-m)和源代碼文件(-s)
  • locate 快而全
    locate /home/my 列出home及子目錄中所有以my開頭文件
    locate /home/usr/share/*.jpg share下所有jpg文件嗅虏,*要加\轉義
    • -c僅計數(shù) -i忽略大小寫 -m man文件 -b二進制文件 -s源代碼文件

通過“ /var/lib/mlocate/mlocate.db ”數(shù)據庫查找上沐,不過這個數(shù)據庫也不是實時更新的,系統(tǒng)會使用定時任務每天自動執(zhí)行 updatedb 命令更新一次参咙,所以有時候你剛添加的文件,它可能會找不到蜀细,需要手動執(zhí)行一次 updatedb 命令

  • which 小而精
    which python戈盈,常用來查看是否安裝某軟件谆刨,shell內建命令。
  • find 精而細
    sudo find /etc/ -name interfaces 痊夭,去 /etc/ 目錄下面 ,搜索名字叫做 interfaces 的文件或者目錄(模糊匹配需要用正則表達式)
    基本命令格式為 find [path] [option] [action]

$ find ~ -newer /home/shiyanlou/Code
列出用戶家目錄下比 Code 文件夾新的文件


實驗:
chown :更改文件所屬用戶/群組
chmod rwx 讀寫執(zhí)行虹曙,依次:所有者、群組酝碳、其他用戶

8.打包、壓縮

常見格式:

文件后綴名 說明
*.zip zip 程序打包壓縮的文件
*.rar rar 程序壓縮的文件
*.7z 7zip 程序壓縮的文件
*.tar tar 程序打包呛讲,未壓縮的文件
*.gz gzip 程序(GNU zip)壓縮的文件
*.xz xz 程序壓縮的文件
*.bz2 bzip2 程序壓縮的文件
*.tar.gz tar 打包返奉,gzip 程序壓縮的文件
*.tar.xz tar 打包,xz 程序壓縮的文件
*tar.bz2 tar 打包芽偏,bzip2 程序壓縮的文件
*.tar.7z tar 打包,7z 程序壓縮的文件

8.1 zip

  • 打包
    zip -r -q -[1-9] -e -l -o test.zip /home/shiyanlou
    zip -r -9 -q -o shiyanlou_9.zip /home/shiyanlou -x ~/*.zip
    • -r 遞歸打包关面,如不寫十厢,則目錄下全為空文件夾,子目錄下的文件無法被打包進去
    • -q 安靜模式不向屏幕輸出打包信息
    • -o 表示輸出文件蛮放,需在其后緊跟打包輸出文件名
    • -9體積最小時間最久,-1體積最大時間最短瞻想。
    • -e 加密
      -l 將 linux中的LF 轉換為win中的 CR+LF娩嚼,防止不兼容
    • -x 排除之前創(chuàng)建的 zip 文件,否則又會被打包進這一次的壓縮文件中岳悟,注意:這里只能使用絕對路徑,否則不起作用呵俏。

關于 zip 命令滔灶,因為 Windows 系統(tǒng)與 Linux/Unix 在文本文件格式上的一些兼容問題,比如換行符(為不可見字符)录平,在 Windows 為 CR+LF(Carriage-Return+Line-Feed:回車加換行)缀皱,而在 Linux/Unix 上為 LF(換行)动猬,所以如果在不加處理的情況下,在 Linux 上編輯的文本争占,在 Windows 系統(tǒng)上打開可能看起來是沒有換行的序目。如果你想讓你在 Linux 創(chuàng)建的 zip 壓縮文件在 Windows 上解壓后沒有任何問題,那么你還需要對命令做一些修改:

du -h test.zip 查看文件大小

  • h猿涨, --human-readable(顧名思義,你可以試試不加的情況)
  • d澡绩, --max-depth(所查看文件的深度)

file test.zip

  • 解壓
    unzip -q [-O GBK] shiyanlou.zip -d ziptest
    • -O GBK 指定編碼類型
    • -d指定目錄

使用 unzip 解壓文件時我們同樣應該注意兼容問題俺附,不過這里我們關心的不再是上面的問題,而是中文編碼的問題事镣,通常 Windows 系統(tǒng)上面創(chuàng)建的壓縮文件,如果有有包含中文的文檔或以中文作為文件名的文件時默認會采用 GBK 或其它編碼氛琢,而 Linux 上面默認使用的是 UTF-8 編碼随闪,如果不加任何處理,直接解壓的話可能會出現(xiàn)中文亂碼的問題(有時候它會自動幫你處理)铐伴,為了解決這個問題,我們可以在解壓時指定編碼類型挽荡。

  • 查看
    unzip -l shiyanlou.zip

-r 指定目錄
-d 指定路徑

8.2 rar

rar shiyanlou.rar . 創(chuàng)建壓縮包
rar d shiyanlou.rar .zshrc 從指定壓縮包刪除某文件
rar l shiyanlou.rar 查看不解壓文件
$ unrar x shiyanlou.rar 全路徑解壓

mkdir tmp 去掉路徑解壓即供,解壓到自己的路徑中 unrar e shiyanlou.rar tmp/

8.3
tar -cvf shiyanlou.tar shiyanlou/----需要壓縮的文件夾

  • c 創(chuàng)建一個tar包
  • f 指定文件名于微,其后要緊跟文件名
  • v 以可視的方式輸出打包的文件
    tar -xf shiyanlou.tar -C tardir 把包解壓到tardir文件夾中
  • x 解壓
  • C 指定目錄

tar -tf shi.tar 只查看不解壓
創(chuàng)建不同壓縮格式的文件:
tar -czf shiyanlou.tar.gz~

  • xzf 參數(shù)不區(qū)分先后

壓縮文件格式 參數(shù)
*.tar.gz -z
*.tar.xz -J
*tar.bz2 -j

tar 排除多個目錄

  • 我們以tomcat 為例青自,打包的時候我們要排除 tomcat/logs 目錄驱证,命令如下:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat 
  • 如果要排除多個目錄,增加 --exclude 即可抹锄,如下命令排除logs和libs兩個目錄及文件xiaoshan.txt:
tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat

常用命令:

zip:
打包 :zip something.zip something (目錄請加 -r 參數(shù))
解包:unzip something
指定路徑:-d 參數(shù)
tar:
打包:tar -zcvf something.tar something
解包:tar -zxvf something.tar(應該去掉z)
ps: z參數(shù)--解壓gzip格式的伙单。
指定路徑:-C 參數(shù)

三、基本操作命令

1吻育、cd
(1)命令
ls [選項] [目錄名]
(2)常用參數(shù)
參數(shù)描述
-a :–all 列出目錄下的所有文件,包括以 . 開頭的隱含文件
-l : 除了文件名之外摊趾,還將文件的權限游两、所有者、文件大小等信息詳細列出來
-d :–directory 將目錄象文件一樣顯示贱案,而不是顯示其下的文件
-h :–human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)
-t :以文件修改時間排序
備注:
列出當前目錄中所有以d開頭的文件目錄的詳細內容: ls -d d*

2、cd
進入系統(tǒng)根目錄 : cd /
進入當前目錄的父目錄:cd ..
進入當前用戶的跟目錄 : cd ~
進入上次目錄所在目錄: cd -

3铸董、mkdir
(1)命令格式

mkdir [選項] 目錄

(2)常用參數(shù)

參數(shù) 描述
-m --mode=模式 設定權限<模式>
-p --parents 可以是一個路徑名稱肴沫。若路徑中的某些目錄尚不存在,加上此選項后,系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄
-v --verbose 每次創(chuàng)建新目錄都顯示信息

ps:連續(xù)創(chuàng)建多個文件夾:
mkdir -vp {test/, test2/, test3/{tt1/, tt2/ }} 同時又在test3下創(chuàng)建了兩個子目錄

4、mv 移動/重命名
(1)命令格式

mv [選項] 源文件或目錄 目標文件或目錄
當目的文件/目錄不存在是才為重命名颤芬;
(2)常用參數(shù)

參數(shù) 描述
-b --back 若需覆蓋文件,則覆蓋前先行備份
-f --force 如果目標文件已經存在汰具,不會詢問而直接覆蓋
-i --interactive 若目標文件已經存在時菱魔,就會詢問是否覆蓋
-u --update 若目標文件已經存在,且源文件比較新澜倦,才會更新
-t --target 該選項適用于移動多個源文件到一個目錄的情況杰妓,此時目標目錄在前碘勉,源文件在后

5、cp
(1)命令格式

cp [選項] 源文件/目錄 目的文件/目錄

(2)常用參數(shù)

參數(shù) 描述
-t --target-directory 指定目標目錄
-i --interactive 覆蓋前詢問(使前面的 -n 選項失效)
-n --no-clobber 不要覆蓋已存在的文件(使前面的 -i 選項失效)
-s --symbolic-link 對源文件建立符號鏈接倍宾,而非復制文件
-f --force 強行復制文件或目錄胜嗓, 不論目的文件或目錄是否已經存在
-u --update 使用這項參數(shù)之后,只會在源文件的修改時間較目的文件更新時兼蕊,或是對應的目的文件并不存在,才復制文件
例:將test1下最近更新的文件復制到test2下孙技,覆蓋前詢問:
cp -iu test1/* test2/

6牵啦、cat
(1)命令格式

cat [選項] [文件]

(2)常用參數(shù)

參數(shù) 描述
-A --show-all 等價于 -vET
-b --number-nonblank 對非空輸出行編號
-e 等價于 -vE
-E --show-ends 在每行結束處顯示 $
-n --number 對輸出的所有行編號,由 1 開始對所有輸出的行數(shù)編號
-s --squeeze-blank 有連續(xù)兩行以上的空白行,就代換為一行的空白行
-t 與 -vT 等價
-T --show-tabs 將跳格字符顯示為 ^I
-u (被忽略)
-v --show-nonprinting 使用 ^ 和 M- 引用哈雏,除了 LFD 和 TAB 之外
ps:
cat總是與重定向符搭配使用 >;
tac 與cat相反,從最后一行開始顯示裳瘪。

7、nl
將文件加行號顯示黄伊,與cat -n的區(qū)別是它可以有更多的顯示方法派殷;
(1)命令格式

nl [選項] [文件]

(2)常用參數(shù)

參數(shù) 描述
-b 指定行號指定的方式,主要有兩種:
-b a 表示不論是否為空行毡惜,也同樣列出行號(類似 cat -n)
-b t 如果有空行,空的那一行不要列出行號(默認值)
-n 列出行號表示的方法扶叉,主要有三種:
-n ln 行號在屏幕的最左方顯示
-n rn 行號在自己欄位的最右方顯示,且不加 0
-n rz 行號在自己欄位的最右方顯示辜梳,且加 0
-w 行號欄位的占用的位數(shù)


最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末作瞄,一起剝皮案震驚了整個濱河市危纫,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌种蝶,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件搪桂,死亡現(xiàn)場離奇詭異盯滚,居然都是意外死亡,警方通過查閱死者的電腦和手機魄藕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門背率,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寝姿,你說我怎么就攤上這事《” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵都许,是天一觀的道長嫂冻。 經常有香客問我,道長睛低,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任钱雷,我火速辦了婚禮,結果婚禮上拉庵,老公的妹妹穿的比我還像新娘。我一直安慰自己钞支,他們只是感情好操刀,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著撼嗓,像睡著了一般欢唾。 火紅的嫁衣襯著肌膚如雪且警。 梳的紋絲不亂的頭發(fā)上匈辱,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天,我揣著相機與錄音押搪,去河邊找鬼浅碾。 笑死,一個胖子當著我的面吹牛垂谢,可吹牛的內容都是我干的。 我是一名探鬼主播滥朱,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼徙邻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缰犁?” 一聲冷哼從身側響起怖糊,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤颇象,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后扰魂,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體耍贾,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡路幸,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了简肴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡能扒,死狀恐怖辫狼,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情膨处,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布鹃答,位于F島的核電站突硝,受9級特大地震影響,放射性物質發(fā)生泄漏解恰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一挟纱、第九天 我趴在偏房一處隱蔽的房頂上張望黄琼。 院中可真熱鬧樊销,春花似錦、人聲如沸裤园。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽腺占。三九已至,卻和暖如春衰伯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背烦周。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工怎顾, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人槐雾。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像株灸,于是被迫代替她去往敵國和親钻注。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容