濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > 開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))

開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))

熱門標(biāo)簽:同花順電話機(jī)器人微信 北京電銷機(jī)器人對(duì)市場(chǎng)的影響 武漢語(yǔ)音電銷機(jī)器人加盟 威海電銷外呼系統(tǒng)好用嗎 輝縣市地圖標(biāo)注 湖北孝感如何辦理 地圖標(biāo)注x是啥意思 房產(chǎn)證地圖標(biāo)注的兩個(gè)面積 外呼系統(tǒng)的合法性

最近都需要在 Linux 系統(tǒng)下開發(fā),所以經(jīng)常需要在終端中進(jìn)行操作。Linux 有很多 shell 命令可以幫助我們完成任務(wù),但不常使用的話就會(huì)忘記掉。

本篇作為命令備忘錄,我會(huì)將實(shí)際工作當(dāng)中用到的命令記錄下來,并長(zhǎng)期保持更新。

1.which

which 用于查找一個(gè)文件,并返回絕對(duì)路徑,查找的目錄范圍由系統(tǒng)的 PATH 指定。

由于 Linux 中一切皆文件,所以 which 指定更多的是查找系統(tǒng)中有沒有這個(gè)命令。

比如,查找 ls 命令,我們可知它的可執(zhí)行文件的位置

which ls
/bin/ls

2.ln

ln 是一個(gè)簡(jiǎn)單但卻非常實(shí)用的命令,它的作用是為某個(gè)文件或者文件夾建立鏈接。

命令語(yǔ)法

ln [參數(shù)][源文件或目錄][目標(biāo)文件或目錄]

鏈接有軟鏈接和硬鏈接兩種,我們一般用軟鏈接。

ln -s test.txt  ../test1.txt

將當(dāng)前目錄中的 test.txt 文件鏈接稱為上一級(jí)目錄的 test1.txt 文件。這樣,其他程序訪問 test1.txt 就如訪問 test.txt 一樣。

3.tee

tee 命令是我個(gè)人非常喜愛的一個(gè)命令。

之前做 Android 開發(fā),特別是源碼編譯的時(shí)候,經(jīng)常在終端一瞬間就會(huì)打印無數(shù)條 log 信息,光靠肉眼是不行的,一個(gè)比較好的方法就是用命令保存起來。

另外,用 find 命令查找文件時(shí),如果文件過多,也可以用 tee 來幫忙。

tee 命令可以接受標(biāo)準(zhǔn)輸入,并輸出到標(biāo)準(zhǔn)輸出,同時(shí)保存到對(duì)應(yīng)的文件。

標(biāo)準(zhǔn)輸入值得是終端的鍵盤輸入,比如 c++ 的 cin,標(biāo)準(zhǔn)輸出就是終端的輸出,比如 c++ 的 cout。

語(yǔ)法

tee [-ai][--help][--version][文件...]

參數(shù) a 代表在后面添加內(nèi)容而不是覆蓋。

tee tmp
hello
hello
world
world

我在終端輸入 tee tmp

接著我輸入 hello,終端響應(yīng) hello

我輸入 world,終端響應(yīng) world。

然后,我通過 cat tmp

查看 tmp 文件,它的結(jié)果如下:

hello
world

這說明 tee 命令準(zhǔn)確將標(biāo)準(zhǔn)輸入保存到指定的 tmp 文件了。

4.locate

locate我也非常喜歡用,用它來快速查找。它是查數(shù)據(jù)庫(kù),而不是一個(gè)個(gè)文件真實(shí)查,所以,速度比較快。

比如,我想查找系統(tǒng)有沒有 libpng.so.

我只需要這樣

locate libpng.so
/home/frank/anaconda3/lib/libpng.so
/home/frank/anaconda3/pkgs/libpng-1.6.34-hb9fc6fc_0/lib/libpng.so
/home/frank/anaconda3/pkgs/libpng-1.6.37-hbc83047_0/lib/libpng.so
/usr/lib/x86_64-linux-gnu/libpng.so

Linux的常用的shell命令

1.目錄命令:

ll /:查看根文件下的所有文件目錄

2.幫助命令:

man ls與ls --help與info ls:(man ls:分屏顯示;--help:全部加載,不完整;info ls:無用信息比較多)

3.基本操作和命令:

Ctrl+R和方向鍵中的上鍵:查找歷時(shí)輸入過的命令 
Ctrl+C Ctrl+Z: 終止或者退出當(dāng)前操作
字母鍵i:進(jìn)入文本編輯模式(可以修改Linux操作系統(tǒng)的init相關(guān)設(shè)置)
編輯完成后按Esc鍵退出,然后如果確定保存修改并返回命令行界面輸入命令-----:wq
如果不保存用命令并退出編輯界面----:q  
保存并強(qiáng)制退出----:q! 
Shift+G 到文件末位 o:換行

4.Table鍵的使用

 自動(dòng)補(bǔ)全命令目錄
 在某個(gè)目錄下只有一個(gè)目錄餓時(shí)候可以不用輸入首字母直接敲table計(jì)劃科自動(dòng)補(bǔ)全目錄
 雙擊table時(shí)一般為顯示所有名或者列出某個(gè)目錄下的所有目錄和文件

5.系統(tǒng)級(jí)別命令

 更改主機(jī)名命令:vi /etc/sysconfig/network
 查看當(dāng)前Linux系統(tǒng)信息
 uname -a 顯示系統(tǒng)及版本的所有信息
 uname -r 顯示內(nèi)核版本
 uname -m 顯示計(jì)算機(jī)是多少位系統(tǒng)
 cat /proc/version Linux查看當(dāng)前操作系統(tǒng)版本信息
 cat /etc/issue或cat /etc/redhat-release Linux查看版本當(dāng)前操作系統(tǒng)發(fā)行版本
 查看系統(tǒng)小版本
 cat /etc/redhat-release
 查看當(dāng)前主機(jī)名
 hostname
 查看第一個(gè)網(wǎng)卡
 ifconfig eth0
 查看和設(shè)置系統(tǒng)時(shí)間
 date
 顯示當(dāng)前在運(yùn)行的進(jìn)程包括對(duì)CPU內(nèi)存使用量
 top -s
 管道:|
 cmd1|cmd2將cmd1輸出結(jié)果交給cmd2命令來執(zhí)行
 比如:查看進(jìn)程:ps-fe|grep redis(這里表示查看redis的進(jìn)程)
 grep:過濾
 #grep //輸出包含指定字符串的行
  -i //忽略大小寫
  -r //遞歸
  -v //取反
  --color //突出顯示查找字符串
 重新啟動(dòng)Linux操作系統(tǒng)
 reboot
 init 6
 關(guān)閉Linux操作系統(tǒng)
 shutdown -h now
 init 0
 圖形和命令行轉(zhuǎn)換
 vi /etc/inittab
 init 3 命令行模式
 init 5 圖形化
 查看虛擬機(jī)運(yùn)行的運(yùn)行級(jí)別(一般狀態(tài)以5啟動(dòng))
  cat /etc/inittab 
  1:?jiǎn)斡脩裟J?
  2和3一樣的功能:多用戶模式
  4:功能還沒有定義(未使用)
  6:重啟
 顯示守護(hù)進(jìn)程目錄樹
 pstree 或者 pstree -p(顯示pid)
 查看正在運(yùn)行的進(jìn)程
 ps -aux
 顯示所有的Java進(jìn)程
 jps(如果沒有安裝JDK,就會(huì)顯示沒有該命令)
 結(jié)束正在運(yùn)行的指定進(jìn)程
 kill -9 pid(指的是進(jìn)程的id)
 不進(jìn)去系統(tǒng)更改root密碼
 1.在grub選項(xiàng)菜單按e進(jìn)入編輯模式
 2.編輯kernel那行 輸入"1"(空格+1),然后按enter鍵
 3.按b重啟
 4.進(jìn)入后執(zhí)行下列命令
  root@#passwd root(配置root的密碼)
  Enter new unix password:輸入新密碼
  root@#init 6

6.磁盤操作

 顯示系統(tǒng)的磁盤空間用量
 df -h  //顯示磁盤分區(qū)信息
 mkfs.ext3 /dev/sdb1 fs format //格式化硬盤分區(qū)
 fdisk -l  //查看磁盤分區(qū)
 du -h -s //查看目錄或者磁盤分區(qū)的使用空間  
  比如:du -h /var/log/(表示查看var/log目錄下的各文件所占空間大小) 
   du -h -s /var/log/(表示查看整個(gè)log目錄的使用空間)
 掛載
 mount -t vfat/dev/sdb1/media/umnt  //掛載
 mount -o remount rw/  //重新掛載,或者將根目錄以讀寫方式重新加載
 umount /media/umnt  //卸載
 文件系統(tǒng)修復(fù)
 fsck -y /dev/sda1 (修復(fù)的可以是分區(qū)也可以是目錄,最好在單用戶模式下使用)
 //linux文件格式
 ext4 ext3 ext2 vfat(fat32)
 //windows文件格式
 ntfs fat32

7.用戶和組的操作

 超級(jí)賬戶 root uid=0
 普通賬戶 uid>=500
 系統(tǒng)賬戶 uid=1~499
 /etc/passwd //保存賬戶的信息
 /etc/shadow //保存賬戶密碼信息
 /root //root用戶家目錄
 /home/xxx  //普通用戶xxx的家目錄
 添加用戶和刪除用戶 useradd
 #useradd  //創(chuàng)建用戶 比如:useradd admin 另外一種方式:useradd -G manager tom(附加到組manager)
 -u 指定uid
 -d 指定宿主目錄
 -s 指定使用shell
 -e 指定用戶過期時(shí)間
 -g 指定基本組
 -G 指定附加組
 #useradd openlab
 #gpasswd -a openlab gropenlab //將用戶加入到組中 比如:#gpasswd -a tom admin(將tom用戶加入admin用戶的組中)
 #gpasswd -d openlab gropenlab //將用戶從組中刪除
 #echo"123456"|passwd--stdin feige //不通過交互信息,直接修改密碼
 #userdel -r //連主目錄一起刪除
 #userdel //刪除用戶 不刪除用戶文件
 #id openlab //顯示用戶信息
 vipw //查看用戶
 創(chuàng)建用戶組
 groupadd manager
 vigr 查看組
 groups manager 查看用戶在哪些組中
 更改密碼: 
 方式1:passwd tom 方式二:etho "root" |passwd --stdin root//不通過交互信息,直接修改密碼
 鎖定賬戶tom禁止其登錄
 usermod -L tom
 切換當(dāng)前賬戶為caimin
 su -caimin
 顯示當(dāng)前登錄用戶賬戶
 whoami
 查看系統(tǒng)文件判斷添加用戶組和添加用戶操作是否正確
 cat /etc/passwd  或者使用 vipw
 cat /etc/group  或者使用 vigr

8.文件操作

 cd 進(jìn)入操作
 pwd 查看當(dāng)前目錄
 mkdir 新建文件夾
 mkdir -p //遞歸創(chuàng)建文件夾 比如:mkdir -p ./test1/caimin/test2
 (./是指用戶所在的當(dāng)前目錄,/是指根目錄,Linux的根目錄是/,root超級(jí)用戶的家目錄是/root)
 touch /tmp/test1/file 創(chuàng)建空文件
 vi file //創(chuàng)建空文件并進(jìn)入編輯界面,按e鍵進(jìn)入編輯模式,按Esc鍵退出編輯
 :wq 保存編輯信息并退回命令行界面  :q 不保存并退回命令行界面 :q! 強(qiáng)制退出(不保存)
 列出文件和目錄列表:
 ll -h /home/
 ls -s -h /home/  (ll相當(dāng)于 ls -l)
 vi 和 vim 文本編輯
 文件內(nèi)容查看
 cat -n //查看內(nèi)容時(shí)顯示行號(hào)
 cat /etc/rehat-release //不顯示行號(hào)
 cat -n /etc/passwd //查看內(nèi)容時(shí)顯示行號(hào)
 顯示文件的頭10行或者尾10行
 tail //默認(rèn)查看文件尾10行
 head  //默認(rèn)查看文件頭10行
  -n 數(shù)字 //查看指定頭幾行
 cat  cat -n  head tail
 tail -f 動(dòng)態(tài)監(jiān)控文件數(shù)據(jù) (按Ctrl+C退出)
 more 百分比查看,不能回滾看
 less  能往回滾看
 復(fù)制文件
 cp ./tmp/file.txt /test
 復(fù)制目錄
 cp -r ./tmp/test01 ./test02(遞歸復(fù)制文件)
 移動(dòng)、剪切、重命名、刪除
 mv -rf
 rename  批量重命名
 >  >>  覆蓋和追加
 rm xxx/ 刪除文件   rm -rf xxx/ 刪除目錄

9.文件權(quán)限

 pwd 查看當(dāng)前位置
 ls -l /data0 顯示當(dāng)前目錄的文件

10.打包tar原理

 -z 壓縮 -c 打包  -x 解包
 -f 必須要 -C 指定解壓位置 -v 輸出信息
 /usr/bin/unzip  /bin/gzip /bin/gunzip
 打包案例(tar命令平常就替代了gz命令)
 //將一個(gè)文件打包
 tar -zcvf ./test.tar ./test(將test文件夾打包成test壓縮包)
 //將多個(gè)文件打包成一個(gè)包
 tar -zcvf folder.tar file1.txt file2.txt 
 //將一個(gè)文件解壓
 tar -zxvf ./test.tar
 //將一個(gè)文件解壓到指定目錄
 tar -zxvf ./test.tar -C /home/test/
 //將多個(gè)文件打包并壓縮
 tar -zcvf ./test.tar.gz folder1 folder2
 //將多個(gè)文件解包并解壓縮
 tar -zxvf ./test.tar.gz
 使用tar備份指定目錄/data0/內(nèi)容包括子目錄中內(nèi)容備份至/data3/data0.tar.gz
 tar -zcvf /data3/data0.tar.gz /data0
 恢復(fù)tar文件中的內(nèi)容/data3/data0.tar.gz至/data2/
 tar -zxvf /data3/data0.tar.gz -C /data2
 which cmd 查找cmd命令所在路徑 whereis
 which reboot
 locate 文件查找-效率很快(用的是數(shù)據(jù)庫(kù))
 locate unzip(一個(gè)索引名) //查找文件按所在
 updatedb //更新數(shù)據(jù)庫(kù)使之生效
 find文件查找-效率很慢
 find 路徑 條件    find / -name unzip(在根目錄下找名字為unzip的文件)
 給shell命令取別名
 alias (此操作只針對(duì)當(dāng)前session連接>有效,另外再開啟一個(gè)連接還是沒有這個(gè)別名)
 eg:alias cle=clear(為清屏命令clear取別名cle)
 unalias 取消別名設(shè)置 eg:unalias cle
 永久設(shè)置:進(jìn)入vi ~/.bashrc(家用戶目錄下的環(huán)境配置文件,這個(gè)文件只針對(duì)當(dāng)前用戶)
 進(jìn)入編輯模式后,加入alias cle='clear' 保存退回命令行
 輸入命令source ~/.bashrc就完成了

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • linux shell命令行選項(xiàng)與參數(shù)用法詳解
  • linux中 shell 歷史命令記錄功能
  • linux shell命令執(zhí)行順序的控制方法
  • Ruby中執(zhí)行Linux shell命令的六種方法詳解
  • Linux通過Shell腳本命令修改密碼的兩種方式
  • Linux命令行和shell腳本編程寶典 Richard Blum
  • Linux Shell腳本系列教程(二):終端打印命令詳解
  • 一天一個(gè)shell命令 linux文本內(nèi)容操作系列-cut命令詳解
  • 一天一個(gè)shell命令 linux文本操作系列-touch命令用法
  • Linux shell ftp命令根據(jù)文件日期下載文件的方法

標(biāo)簽:西寧 蚌埠 安康 武威 日喀則 麗江 紹興 迪慶

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))》,本文關(guān)鍵詞  開發(fā)者,常用,及,實(shí)用,Linux,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于開發(fā)者常用及實(shí)用Linux Shell命令備忘錄(小結(jié))的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    乳山市| 兖州市| 湘阴县| 斗六市| 蒲江县| 普洱| 楚雄市| 黄龙县| 平南县| 石门县| 铁岭市| 达州市| 常德市| 体育| 宜川县| 凤台县| 台北市| 东兴市| 兴义市| 新泰市| 腾冲县| 化德县| 长宁区| 普兰县| 巨鹿县| 政和县| 德保县| 龙胜| 滦平县| 砀山县| 汝州市| 平顶山市| 顺昌县| 安宁市| 冷水江市| 海南省| 安吉县| 耿马| 六安市| 岳普湖县| 聂拉木县|