国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Linux Shell > 正文

開發者常用及實用Linux Shell命令備忘錄(小結)

2020-07-27 18:43:49
字體:
來源:轉載
供稿:網友

最近都需要在 Linux 系統下開發,所以經常需要在終端中進行操作。Linux 有很多 shell 命令可以幫助我們完成任務,但不常使用的話就會忘記掉。

本篇作為命令備忘錄,我會將實際工作當中用到的命令記錄下來,并長期保持更新。

1.which

which 用于查找一個文件,并返回絕對路徑,查找的目錄范圍由系統的 PATH 指定。

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

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

which ls/bin/ls

2.ln

ln 是一個簡單但卻非常實用的命令,它的作用是為某個文件或者文件夾建立鏈接。

命令語法

ln [參數][源文件或目錄][目標文件或目錄]

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

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

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

3.tee

tee 命令是我個人非常喜愛的一個命令。

之前做 Android 開發,特別是源碼編譯的時候,經常在終端一瞬間就會打印無數條 log 信息,光靠肉眼是不行的,一個比較好的方法就是用命令保存起來。

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

tee 命令可以接受標準輸入,并輸出到標準輸出,同時保存到對應的文件。

標準輸入值得是終端的鍵盤輸入,比如 c++ 的 cin,標準輸出就是終端的輸出,比如 c++ 的 cout。

語法

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

參數 a 代表在后面添加內容而不是覆蓋。

tee tmp
hello
hello
world
world

我在終端輸入 tee tmp

接著我輸入 hello,終端響應 hello

我輸入 world,終端響應 world。

然后,我通過 cat tmp

查看 tmp 文件,它的結果如下:

hello
world

這說明 tee 命令準確將標準輸入保存到指定的 tmp 文件了。

4.locate

locate我也非常喜歡用,用它來快速查找。它是查數據庫,而不是一個個文件真實查,所以,速度比較快。

比如,我想查找系統有沒有 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和方向鍵中的上鍵:查找歷時輸入過的命令 Ctrl+C Ctrl+Z: 終止或者退出當前操作字母鍵i:進入文本編輯模式(可以修改Linux操作系統的init相關設置)編輯完成后按Esc鍵退出,然后如果確定保存修改并返回命令行界面輸入命令-----:wq如果不保存用命令并退出編輯界面----:q  保存并強制退出----:q! Shift+G 到文件末位 o:換行

4.Table鍵的使用

 自動補全命令目錄 在某個目錄下只有一個目錄餓時候可以不用輸入首字母直接敲table計劃科自動補全目錄 雙擊table時一般為顯示所有名或者列出某個目錄下的所有目錄和文件

5.系統級別命令

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

6.磁盤操作

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

7.用戶和組的操作

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

8.文件操作

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

9.文件權限

 pwd 查看當前位置 ls -l /data0 顯示當前目錄的文件

10.打包tar原理

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝坻区| 阿城市| 凤翔县| 来安县| 政和县| 贵南县| 汾西县| 千阳县| 无极县| 金溪县| 和硕县| 饶阳县| 襄樊市| 西和县| 通道| 彩票| 兰坪| 甘肃省| 集贤县| 卢龙县| 长垣县| 资溪县| 伊宁市| 绍兴市| 京山县| 栾城县| 德格县| 萝北县| 通化县| 桃园市| 九台市| 曲沃县| 子洲县| 会理县| 陆良县| 尤溪县| 白河县| 专栏| 麻栗坡县| 星子县| 九寨沟县|