一、常用命令補充
-
gedit文本編輯工具
$ gedit hello.c -
ln建立鏈接文件
建立鏈接文件相當(dāng)于windows上創(chuàng)建一個快捷方式。軟鏈接:不占用磁盤空間的,源文件刪除則軟連接失效【-s】 硬鏈接:可以占用磁盤空間,源文件刪除對硬鏈接沒有影響 $ ln -s hello.txt hello $ ls lrwxrwxrwx 1 libin libin 5 6月 27 15:21 hello -> hello.txt $ cat hello // 和cat hello.txt 一樣 $ ln hello.txt hello對于軟連接而言,如果軟連接和源文件不在同一個目錄下,則原文件使用絕對路徑,不能使用相對路徑
對于硬鏈接而言,兩個文件占用相同大小的磁盤空間,如果源文件被刪除,硬鏈接不受任何影響,正常使用 -
ls文件查看
例如: $ ls -l // 查看文件信息 簡寫: $ ll -
rm刪除操作
語法: $ rm -rfi // -r追層刪除 -f強制刪除 -i用戶交互刪除,詢問是否刪除 -
chmod權(quán)限添加
u(user): 當(dāng)前用戶 a(all): 所有用戶 g(group):同組用戶 o(other): 其他用戶 例如: $ chmod g+w hello.c // 給文件中同組用戶添加一個可讀權(quán)限 $ chmod go+w file2.txt $ chmod ugo+w file2.txt -
ssh通道
SSH 為 Secure Shel的縮寫,SSH 是目前較可靠,專為遠程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。語法: ssh 用戶名@IP地址 例如: $ ssh zhangsan@192.168.1.133 備注: 連接服務(wù)器可以借助xShell、putty等工具,也可以通過ssh方式。 -
date查看系統(tǒng)時間
$ date // 查看系統(tǒng)時間 $ date -s "2018-01-01 00:00:00" // 修改系統(tǒng)時間 -
cal顯示一個日歷
$ cal -
查看系統(tǒng)信息
$ cat /etc/issue // 查看系統(tǒng)版本 $ file /sbin/init // 查看系統(tǒng)位數(shù) -
history查看歷史命令
$ history // 終端輸入的歷史命令,最近1000條記錄 $ history 5 // 顯示最后5條記錄 -
tree以樹形結(jié)構(gòu)去顯示目錄結(jié)構(gòu)
$ tree -d // 只顯示文件夾 $ tree -f // 顯示文件的完整路徑 $ tree -L 2 // 只看前兩級的內(nèi)容需要安裝tree: sudo apt-get install tree
-
ps查看進程
語法: ps -ef 例如: $ ps -ef $ ps -ef | grep mysql // 查看MySQL進程是否起來 備注: UID // 用戶名 PID // 進程的ID PPID // 父進程ID C // 進程占用CPU的百分比 STIME // 進程啟動到現(xiàn)在的時間 TTY // 該進程在那個終端上運行,若與終端無關(guān),則顯示? CMD //命令的名稱和參數(shù) -
pkill進程管理
語法: pkill 服務(wù)名 kill 進程號 kill -9 進程號 // 強制殺死進程 例如: $ pkill 服務(wù)名 // 殺死對應(yīng)服務(wù)名的所有進程 -
df磁盤空間
$ df // 磁盤空間大小 $ df -hl // 磁盤空間大小 -
free內(nèi)存占用
$ free -
who用戶登錄信息
$ who -
which查找其他命令所在的位置
$ which python $ which ls -
whereis用于程序名的搜索
$ whereis python -
type尋找命令所在的位置,包括命令別名
$ type python -
查看網(wǎng)絡(luò)狀態(tài)信息
$ netstat -anp $ netstat -anp | grep 3333 // 查看端口被哪個服務(wù)占用 -
系統(tǒng)相關(guān)
$ reboot // 重啟系統(tǒng) $ shutdown // 關(guān)閉系統(tǒng) $ init 0 // 關(guān)機 $ init 6 // 重啟 -
zip打包解包
打包語法: zip -r xxx.zip 文件1 文件2... 例如: $ zip -r source.zip a.txt b.txt // 將多個文件打包 $ zip -r source.zip . // 將當(dāng)前路徑下文件打包 $ zip -r source.zip Test/ // 將Test目錄打包 解包語法: unzip xxx.zip unzip 包名 -d 目錄 // 解壓zip包到指定目錄 例如: unzip source.zip unzip source.zip -d aaa/ -
gzip壓縮解壓
壓縮語法: gzip 需要打包的文件 // 把文件進行壓縮,原來的文件則沒有了,解 壓縮也一樣 例如: $ gzip test.txt // test.txt.gz $ gzip test.zip // test.zip.gz $ gzip 解壓語法: gunzip xxx.gz 例如: $ gunzip 01-test.c.gz 備注: 只能壓縮文件,不能壓縮目錄 -
tar壓縮解壓
打包語法: tar -cvf xxx.tar 文件1 文件2... 例如: $ tar -cvf source.tar a.txt b.txt 解包語法: tar -xvf 包名 tar -xvf 包名 -C 目錄 // 指定目錄 例如: $ tar -xvf source.tar 打包并壓縮語法: tar -zcvf xxx.tar.gz 文件1 文件2... // 打包并壓縮 例如: $ tar -zcvf source.tar.gz a.txt b.txt 解壓語法: tar -zxvf xxx.tar.gz tar -zxvf 包名 -C 目錄 // 指定目錄 例如: tar -zxvf source.tar.gz 備注打包: -c 產(chǎn)生.tar打包文件,在使用tar打包目錄的時候,-c是必要的選項,表示create創(chuàng)建一個打包文件 -v 顯示詳細(xì)信息,可選項,是在命令執(zhí)行的時候,顯示命令執(zhí)行的過程 -f 指定壓縮后的文件名,必選項,該選項必須放在所有選項的后面,后面跟住新的文件名 -z 打包同時壓縮 備注解包: -x 解包.tar文件 -v 顯示詳細(xì)信息 -f 指定解壓文件 -z 解壓縮 -
創(chuàng)建用戶
語法: useradd 用戶名 // 默認(rèn)是不會創(chuàng)建對應(yīng)用戶目錄 -m 強制建立用戶主文件夾,并將/etc/skel/當(dāng)中的文件復(fù)制到用戶的根目錄下 -s 用戶登錄所使用的shell 例如: $ useradd zhangsan // 需要手動設(shè)置密碼 passwd zhangsan $ useradd -m lisi // 默認(rèn)無密碼 $ useradd -m -s /bin/bash wangwu // 默認(rèn)用戶的密碼 建議使用adduser命令: $ sudo adduser/etc/skel是配置文件, bash是GNU操作系統(tǒng)的shell,或命令語言解釋器
按下ctrl+ d 注銷用戶【exit命令】!
查看用戶 cat /etc/passwd -
刪除用戶
語法: userdel 用戶名 // 默認(rèn)只是刪除普通用戶,不會自動刪除用戶所在的主目錄,需要手動 rm -rf xxx -r 刪除普通用戶,同時自動刪除用戶所在的主目錄 例如: $ userdel zhangsan $ userdel -r lisi 備注: 如果提示`userdel: user zhangsan is currently logged in`,就強制刪除`userdel -r -f zhangsan` -
修改用戶密碼
語法: passwd 用戶名 例如: $ passwd zhangsan // 輸入兩次密碼 -
查看所屬
語法: groups 用戶名 例如: $groups zhangsan -
創(chuàng)建用戶組
語法: groupadd 組名 例如: $ groupadd cxy查看組 cat /etc/group
-
刪除用戶組
語法: groupdel 組名 例如: $ groupdel cxy -
添加到組
語法: gpasswd -a 用戶名 組名 例如: $ gpasswd -a zhangsan cxy -
從組中刪除
語法: gpasswd -d 用戶名 組名 例如: $ gpasswd -d zhangsan cxy -
修改文件所屬者所屬組
語法: chown -R 用戶名:組名 文件名 例如: chown -R libin:love yhy/cat /etc/group文件包含所有組
cat /etc/shadow和cat /etc/passwd系統(tǒng)存在的所有用戶名 -
文件傳輸
語法: scp 用戶名@遠程服務(wù)器的IP:/文件路徑 想要存放的路徑Windows與Linux中,文件傳輸可以使用xftp;
Linux與Linux之間,可以使用scp;
其他方式: GitHub;
二、Linux其他
- 磁盤分區(qū)
在Windows操作系統(tǒng)中,是先將物理地址分開,再在分區(qū)上建立目錄.在Windows操作系統(tǒng)中,所有路徑都是從盤符開始,如C://program file。
Linux正好相反,是先有目錄,再將物理地址映射到目錄中。在Linux操作系統(tǒng)中,所有路徑都是從根目錄開始。Linux默認(rèn)可分為3個分區(qū),分別是boot分區(qū)、swap分區(qū)和根分區(qū)。
無論是Windows操作系統(tǒng),還是Linux操作系統(tǒng),每個分區(qū)均可以有不同的文件系統(tǒng),如FAT32、NTFS、Yaffs2等。
boot分區(qū): 該分區(qū)對應(yīng)于/boot目錄,存放Linux的bootloader和內(nèi)核源碼,用戶對/boot目錄的操作就是操作該分區(qū);
swap分區(qū): Linux下的虛擬內(nèi)存.虛擬內(nèi)存用于當(dāng)系統(tǒng)內(nèi)存空間不足時,先將臨時數(shù)據(jù)存放在swap分區(qū),等待一段時間后,然后再將數(shù)據(jù)調(diào)入到內(nèi)存中執(zhí)行.所以說,虛擬內(nèi)存只是暫時存放數(shù)據(jù),在該空間內(nèi)并沒有執(zhí)行(大小為物理內(nèi)存的2倍);
根分區(qū): 在Linux操作系統(tǒng)中,除/boot目錄外的其它所有目錄都對應(yīng)于該分區(qū).因此,用戶可通過訪問除/boot目錄外的其它所有目錄來訪問該分區(qū);
備注: 在創(chuàng)建Linux分區(qū)時,一定要創(chuàng)建SWAP/根分區(qū)!
- 文件系統(tǒng)
文件系統(tǒng),即在存儲設(shè)備上組織文件的方法;
Windows: FAT16、FAT32、NTFS
Linux: EXT2、EXT3、VFAT