顯示目錄和文件的命令
Ls:用於查看所有文件夾的命令。
Dir:用於顯示指定文件夾和目錄的命令 Tree: 以樹狀圖列出目錄內容
Du:顯示目錄或文件大小
修改目錄,文件權限和屬主及數組命令
Chmod:用於改變指定文件的權限命令。
Chown:用於改變文件擁有屬性的命令。
Chgrp:用於改變文件羣組的命令。
Chattr:用於設置文件具有不可刪除和修改權限。
Lsattr:用於顯示文件或目錄的隱藏屬性。
創建和刪除目錄的命令
Mkdir:用於創建目錄
Rmdir:用於刪除空的目錄
Rm -f:用於刪除不爲空的目錄
創建和刪除,重命名,複製文件的命令
Touch:創建一個新的文件
Vi:創建一個新的文件
Rm:刪除文件或目錄
Mv:重命名或移動文件的命令
Cp:複製命令
顯示文件內容的命令
Cat:用於顯示指定文件的全部內容
More:用分頁的形式顯示指定文件的內容
Less:用分頁的形式顯示指定文件的內容,區別是more和less翻頁使用的操作鍵不同。
Head:用於顯示文件的前n行內容。
Tail:用於顯示文件的後n行內容。
Tail -f:用於自動刷新的顯示文件後n行數據內容。
查找命令
Find:查找指定的文件。
Whereis:查找指定的文件源和二進制文件和手冊等
Which:用於查詢命令或別名的位置。
Locate:快速查找系統數據庫中指定的內容。
Grep:查找文件裏符合條件的字符串。
關機和重啓計算機的命令
Shutdown:-r 關機後立即重啓
-k 並不真正的關機,而只是發出警告信息給所有用戶
-h 關機後不重新啓動
Poweroff:用於關機和關閉電源
Init:改變系統運行級別
0級用於關閉系統
1 級用於單一使用者模式
2級用來進行多用戶使用模式(但不帶網絡功能)
3級用來進行多用戶使用模式(帶網絡全功能)
4級用來進行用戶自定義使用模式
5級表示進入x windows時的模式
6級用來重啓系統
Reboot: 用於計算機重啓
Halt:用於關閉計算機系統
壓縮和打包命令
Tar:用於多個文件或目錄進行打包,但不壓縮,同時也用命令進行解包
Gzip:用於文件進行壓縮和解壓縮命令,文件擴展名爲.gz結尾。
Gunzip:用於對gzip壓縮文檔進行解壓縮。
Bzip2:用於對文件或目錄進行壓縮和解壓縮
Bzcat:用於顯示壓縮文件的內容。
Compress/un compress: 壓縮/解壓縮.Z文件
Zcat:查看z或gz結尾的壓縮文件內容。
Gzexe:壓縮可執行的文件
Unarg:解壓縮.arj文件
Zip/unzip:壓縮解壓縮.zip文件
用戶操作命令
Su:切換用戶命令
Sudo:一系統管理員的身份執行命令
Passwd:用於修改用戶的密碼
改變目錄和查看當前目錄命令
Cd:進入工作目錄
Cd 。。:會退到上一級命令
Pwd:顯示當前用戶所在工作目錄位置
文件連接命令
Ln:爲源文件創建一個連接,並不將源文件複製一份,即佔用的空間很小。
可以分爲軟件連接和硬鏈接。
軟連接:也稱爲符號連接,即爲文件或目錄創建一個快捷方式。
硬鏈接:給一個文件取多於一個名字,放在不同目錄中,方便用戶使用。
Ln命令參數如下:
-f:在創建連接時,先將與目的對象同名的文件或目錄刪除。
-d:允許系統管理者硬鏈接自己的目錄。
-i:在刪除與目的對象同名文件或目錄時先詢問用戶。
-n:在創建軟連接時,將目的對象視爲一般的文件。
-s:創建軟連接,即符號連接。
-v:在連接之前顯示文件或目錄名。
-b:將在連接時會被覆蓋或刪除的文件進行備份。
幫助命令-----man
其他命令
Who:顯示系統中有那些用戶在使用。
-ami 顯示當前用戶
-u:顯示使用者的動作/工作
-s:使用簡短的格式來顯示
-v:顯示程序版本
Free:查看當前系統的內存使用情況
Uptime:顯示系統運行了多長時間
Ps:顯示瞬間進程的動態
Top: 動態地顯示進程
Pstree:以樹狀方式顯示系統中所有的進程
Date:顯示或設定系統的日期與時間。
Last:顯示每月登陸系統的用戶信息
Kill: 殺死一些特定的進程
Logout:退出系統
Useradd/userdel:添加用戶/刪除用戶
Clear:清屏
Passwd:設置用戶密碼
vi編輯器
首先用vi命令打開一個文件
末行模式命令:
:n,m w path/filename 保存指定範圍文檔( n表開始行,m表結束行)
:q! 對文件做過修改後,強制退出
:q 沒有對文件做過修改退出
Wq或x 保存退出
dd 刪除光標所在行
: set number 顯示行號
:n 跳轉到n行
:s 替換字符串 :s/test/test2/g /g全局替換 /也可以用%代替
/ 查找字符串
網絡通信常用的命令
Arp:網絡地址顯示及控制
ftp:文件傳輸
Lftp:文件傳輸
Mail:發送/接收電子郵件
Mesg:允許或拒絕其他用戶向自己所用的終端發送信息
Mutt E-mail 管理程序
Ncftp :文件傳輸
Netstat:顯示網絡連接.路由表和網絡接口信息
Pine:收發電子郵件,瀏覽新聞組
Ping:用於查看網絡是否連接通暢
Ssh:安全模式下遠程登陸
Telnet:遠程登錄
Talk:與另一用戶對話
Traceroute:顯示到達某一主機所經由的路徑及所使用的時間。
Wget:從網路上自動下載文件
Write:向其它用戶終端寫信息 Rlogin:遠程登錄
如今出去面試多少都會被問及個linux的問題, 而且項目進uat後也都要發到linux下, 所以知道幾個linux命令是必要的。
第一個,也是最有用的一個:
man 察看命令詳解,只要覺得哪個命令不清楚,man它就可以了.
man ls
ln 創建鏈接文件
ln -s sourceName destName
ls 列出文件
-l: 逐行顯示且列出詳細屬性
-a: 列出所有文件包括以.開頭的隱藏文件
ls -lqt /bin
cat 讀取文本內容
-n: 顯示行號
-b: 顯示行號且忽略空行
cat -n 1.txt
wc: 計數
-l: 行數
-w: 字數
-c: 字符數
wc -l file1 file2 ......可以統計多個文件
cp 拷貝文件 目錄
-i: 交互模式,如果目標文件存在,則詢問是否覆蓋
-r: 拷貝目錄
cp file1 file2 file3.... dir 表示將file1,file2...拷貝到dir
cp -r dir1 dir2 dir3... dirn 將dir1, dir2,dir3...拷貝到dirn
file 察看文件類型
file test.sh
mv 移動文件,更改文件名
-i: 交互模式,如果目標文件存在,則詢問是否覆蓋
-r: 移動目錄,跟改目錄名
rm 刪除文件
-i: 交互模式,詢問是否刪除
rm -r dir1 dir2 dir3...可刪除多個
mkdir 創建目錄
-p: parent,父目錄不存在,則創建父目錄
mkdir -p test/test
rmdir 刪除目錄
等同與rm -r
rmdir dir1 dir2 dir3 ....
rm -r dir1 dir2 dir3 ....
chmod 更改權限
chmod -R 777 DIR改變目錄下所有文件權限爲777,必須是-R
權限 -rwxrwxrwx
421421421
最前面的-表示文件類型爲普通文件
接下來三位表示所有者權限
接下來三位表示組權限
最後三位表示其它用戶權限
如果某一權限沒有被分配,用-表示。-rwxr--rwx表示組沒有寫和執行權限
文件加夜有可執行權限,但表示是否容許在該目錄下尋找文件
chown 改變所有者
chgrp 改變組
command &
命令後面加&表示在後臺運行
find . -name "*.sh"&
fg 把後臺進程放到前臺
fg %1 把後臺第一個作業放到前臺
bg
把前臺進程放到後臺
jobs
顯示後臺或掛起的進程
ps
顯示所有進程
ps -f 顯示完全信息,包括佔用cpu時間,開始時間。。。
kill
-9 強制結束
more 顯示文本內容,每次一屏,按空格繼續
find / -name "*.sh" | more
tail 從指定的位置開始顯示後面得內容
tail -f server.log 用於在server上邊運行邊察看日誌
tail -10 dos2unix.sh 察看最後10行
head
與tail對應
sort 排序
-r 逆序
-d 字典順序
ls | sort -r
tr 字符替換
-d 刪除指定字符 ls | tr -d 'log'
ls | tr 'd' 'g'把d變成g
at time date job
定時調度
compress
-f 壓縮文件
-v 顯示壓縮比例
compress -vf project.tar 將產生project.tar.Z且project.tar被刪除
uncompress
-f 解壓縮文件
-v 顯示壓縮比例
uncompress project.tar.Z 將產生project.tar且project.tar.Z被刪除
tar
-c 創建新文檔
-x 解包
-v 顯示正在處理的文件名
-f 取代默認的文件名
tar -cvf project.tar project/* 把project目錄下所有文件打包
tar -xvf project.tar
crontab
使用權限 : 所有使用者
使用方式 :
crontab [ -u user ] file
crontab [ -u user ] { -l | -r | -e }
crontab 指定使用者在固定時間執行程序,換句話說,即使用者的時程表。-u user 是指設定指定 user 的時程表,這個前提是你必須要有其權限(比如說是 root)才能夠指定他人的時程表。如果不使用 -u user 的話,就是表示設定自己的時程表。