CentOS 7 常用命令集合
常用命令
熱鍵操作
Tab按鍵---命令補齊功能
Ctrl+c按鍵---停掉正在運行的程序
Ctrl+d按鍵---相當於exit,退出
Ctrl+l按鍵---清屏
添加環境變量
echo "export PATH=$PATH:/opt/runtime/php/bin" >> ~/.bashrc
echo "export PATH=$PATH:/opt/runtime/composer" >> ~/.bashrc
source ~/.bashrc
修改終端命令提示符
# echo $PS1
可得到當前PS1的定義值:
PS1='[\u@\h \W]\$ '
PS1的常用參數以及含義:
\d :代表日期,格式為weekday month date,例如:"Mon Aug 1"
\H :完整的主機名稱
\h :僅取主機名中的第一個名字
\t :顯示時間為24小時格式,如:HH:MM:SS
\T :顯示時間為12小時格式
\A :顯示時間為24小時格式:HH:MM
\u :當前用戶的賬號名稱
\v :BASH的版本信息
\w :完整的工作目錄名稱
\W :利用basename取得工作目錄名稱,只顯示最后一個目錄名
\# :下達的第幾個命令
\$ :提示字符,如果是root用戶,提示符為 # ,普通用戶則為 $
修改.bashrc文件,永久保存命令行樣式
# cd ~ # ll -a # vim .bashrc
加入這一行:
PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\w\[\e[0m\]]\\$ "
:qw保存退出,重新加載bash配置文件:
# source .bashrc
即可生效~!
文件與目錄操作
命令 | 解析 |
---|---|
cd 改變當前目錄 | |
cd /home | 進入 ‘/home’ 目錄 |
cd .. | 返回上一級目錄 |
cd ../.. | 返回上兩級目錄 |
cd - | 返回上次所在目錄 |
cd 回車 | 返回主目錄 |
cd / | 返回根目錄 |
cd ~ | 進入用戶主目錄 |
cp [選項] 源文件或目錄 目錄或多個源文件 | 將源文件復制至目標文件,或將多個源文件復制至目標目錄。 | |
cp file1 file2 | 將file1復制為file2 |
cp -a dir1 dir2 | 此選項通常在復制目錄時使用,它保留鏈接、文件屬性,並復制目錄下的所有內容。其作用等於dpR參數組合。 |
cp -d file1 file2 | 復制時保留鏈接。這里所說的鏈接相當於Windows系統中的快捷方式。 |
cp -f file1 file2 | 覆蓋已經存在的目標文件而不給出提示。 |
cp -i file1 file2 | 與-f選項相反,在覆蓋目標文件之前給出提示,要求用戶確認是否覆蓋,回答"y"時目標文件將被覆蓋。 |
cp -p file1 file2 | 除復制文件的內容外,還把修改時間和訪問權限也復制到新文件中。 |
cp -r 或 -R test/ newtest | 若給出的源文件是一個目錄文件,此時將復制該目錄下所有的子目錄和文件。 |
cp -s file1 file2 | 生成快捷方式 |
ls [選項] [目錄名 | 列出相關目錄下的所有目錄和文件 | |
ls | 查看目錄中的文件 |
ls -a | 查看所有文件,包括隱藏文件 |
ls -A | 通-a,但不列出"."和".." |
ls -l | 查看文件的詳細信息 |
ls -c | 根據ctime排序顯示 |
ls -t | 根據文件修改時間排序 |
ls -lrt | 按時間顯示文件(l表示詳細列表,r表示反向排序,t表示按時間排序) |
pwd | 查看當前所在路徑 |
mkdir [選項] 目錄… | 創建新目錄 | |
mkdir dir1 | 創建 ‘dir1’ 目錄 |
mkdir dir1 dir2 | 同時創建兩個目錄 |
mkdir -p /tmp/dir1/dir2 | 遞歸創建目錄,若父目錄不存在則依次創建 |
mkdir -m 777 test | 自定義創建目錄的權限 |
mkdir -v test | 顯示創建目錄的詳細信息 |
rmdir 刪除空目錄 | |
rmdir -v test | 顯示執行過程 |
rmdir -p aaa/test | 若子目錄刪除后父目錄(aaa)為空則一並刪除 |
mv [選項] 源文件或目錄 目錄或多個源文件 | 移動或重命名文件 | |
mv 文件1 文件2 | 將源文件名改為目標文件名,將文件 aaa 更名為 bbb,如果文件2已存在,會報錯提示文件已存在 |
mv 文件1 目錄2 | 將文件移動到目標目錄,將文件 aaa 移動到 bbb 目錄,如果目標目錄不存在,則改名,aaa 改為 bbb |
mv 目錄1 目錄2 | 目標目錄已存在,將源目錄移動到目標目錄;目標目錄不存在則改名 |
mv 目錄名 文件名 | 會出錯 |
mv -b aaa bbb | 覆蓋前做備份,例如 mv -b aaa bbb, 則bbb文件改名為 bbb~ aaa變成bbb |
mv -f aaa bbb | 如存在不詢問而強制覆蓋(慎用!!) |
mv -i 文件名 文件名 | 如存在則詢問是否覆蓋 |
mv -t 目錄名 文件名1 文件名2 | 將多個源文件移動到統一目錄下,目錄參數在前,文件參數在后 |
rm [選項] 文件名 | 刪除文件(文件一旦通過rm命令刪除,則無法恢復,所以必須格外小心地使用該命令。) | |
rm 文件名 | 刪除某一個文件,系統提示是否刪除某文件,輸入 y 執行刪除 |
rm 目錄名 | 刪除某個目錄,不加任何參數,會報錯。系統提示是一個目錄 |
rm -i | 刪除前逐一詢問確認。 |
rm -f | 不給出系統提示,直接刪除,即使是只讀文件,一並刪除。(慎用) |
rm -r | 將列出的目錄及其子目錄遞歸刪除 |
rm -rf 目錄名 | 刪除該目錄及其子目錄內容,不給出任何提示(慎用) |
du [選項] 目錄名|文件名 顯示目錄或文件的大小 | |
du -h 目錄名 | 顯示目錄或文件的大小,以K,M,G為單位,提高信息的可讀性。 |
查看文件內容
命令 | 解析 |
---|---|
cat [-AbeEnstTuv] [--help] [--version] fileName | |
cat -n textfile1 > textfile2 | 把 textfile1 的文檔內容加上行號后輸入 textfile2 這個文檔里 |
cat -n file1 | 編號文件內容再輸出,帶上行號 |
cat /dev/null > /etc/test.txt | 清空 /etc/test.txt 文檔內容 |
head -2 file1 | 查看一個文件的前兩行 |
more file1 | 查看一個長文件的內容 |
tac file1 | 從最后一行開始反向查看一個文件的內容 |
tail -3 file1 | 查看一個文件的最后三行 |
vi file | 打開並瀏覽文件 |
文本內容處理
命令 | 解析 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
grep str /tmp/test | 在文件 ‘/tmp/test’ 中查找 “str” | ||||||||||||
grep ^str /tmp/test | 在文件 ‘/tmp/test’ 中查找以 “str” 開始的行 | ||||||||||||
grep [0-9] /tmp/test | 查找 ‘/tmp/test’ 文件中所有包含數字的行 | ||||||||||||
grep str -r /tmp/* | 在目錄 ‘/tmp’ 及其子目錄中查找 “str” | ||||||||||||
diff file1 file2 | 找出兩個文件的不同處 | ||||||||||||
sdiff file1 file2 | 以對比的方式顯示兩個文件的不同 | ||||||||||||
vi file |
|
查詢操作
命令 | 解析 |
---|---|
find / -name file1 | 從 ‘/’ 開始進入根文件系統查找文件和目錄 |
find / -user user1 | 查找屬於用戶 ‘user1’ 的文件和目錄 |
find /home/user1 -name *.bin | 在目錄 ‘/ home/user1’ 中查找以 ‘.bin’ 結尾的文件 |
find /usr/bin -type f -atime +100 | 查找在過去100天內未被使用過的執行文件 |
find /usr/bin -type f -mtime -10 | 查找在10天內被創建或者修改過的文件 |
locate *.ps | 尋找以 ‘.ps’ 結尾的文件,先運行 ‘updatedb’ 命令 |
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ | 在當前目錄及其子目錄所有.c和.h文件中查找 ‘expr’ |
find -type f -print0 | xargs -r0 grep -F ‘expr’ | 在當前目錄及其子目錄的常規文件中查找 ‘expr’ |
find -maxdepth 1 -type f | xargs grep -F ‘expr’ | 在當前目錄中查找 ‘expr’ |
whereis [-bmsu] [BMS 目錄名 -f ] 文件名| 定位可執行文件、源代碼文件、幫助文件在文件系統中的位置 |
壓縮、解壓
命令 | 解析 |
---|---|
bzip2 file1 | 壓縮 file1 |
bunzip2 file1.bz2 | 解壓 file1.bz2 |
gzip file1 | 壓縮 file1 |
gzip -9 file1 | 最大程度壓縮 file1 |
gunzip file1.gz | 解壓 file1.gz |
tar -cvf archive.tar file1 | 把file1打包成 archive.tar(-c: 建立壓縮檔案;-v: 顯示所有過程;-f: 使用檔案名字,是必須的,是最后一個參數) |
tar -cvf archive.tar file1 dir1 | 把 file1,dir1 打包成 archive.tar |
tar -tf archive.tar | 顯示一個包中的內容 |
tar -xvf archive.tar | 釋放一個包 |
tar -xvf archive.tar -C /tmp | 把壓縮包釋放到 /tmp目錄下 |
zip file1.zip file1 | 創建一個zip格式的壓縮包 |
zip -r file1.zip file1 dir1 | 把文件和目錄壓縮成一個zip格式的壓縮包 |
unzip file1.zip | 解壓一個zip格式的壓縮包到當前目錄 |
unzip test.zip -d /tmp/ | 解壓一個zip格式的壓縮包到 /tmp 目錄 |
yum安裝器
命令 | 解析 |
---|---|
yum -y install [package] | 下載並安裝一個rpm包 |
yum localinstall [package.rpm] | 安裝一個rpm包,使用你自己的軟件倉庫解決所有依賴關系 |
yum -y update | 更新當前系統中安裝的所有rpm包 |
yum update [package] | 更新一個rpm包 |
yum remove [package] | 刪除一個rpm包 |
yum list | 列出當前系統中安裝的所有包 |
yum search [package] | 在rpm倉庫中搜尋軟件包 |
yum clean [package] | 清除緩存目錄(/var/cache/yum)下的軟件包 |
yum clean headers | 刪除所有頭文件 |
yum clean all | 刪除所有緩存的包和頭文件 |
網絡相關
命令 | 解析 |
---|---|
ifconfig eth0 | 顯示一個以太網卡的配置 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | 配置網卡的IP地址 |
ifdown eth0 | 禁用 ‘eth0’ 網絡設備 |
ifup eth0 | 啟用 ‘eth0’ 網絡設備 |
iwconfig eth1 | 顯示一個無線網卡的配置 |
iwlist scan | 顯示無線網絡 |
ip addr show | 顯示網卡的IP地址 |
系統相關
命令 | 解析 |
---|---|
su - | 切換到root權限(與su有區別) |
shutdown -h now | 關機 |
shutdown -r now | 重啟 |
top | 羅列使用CPU資源最多的linux任務 (輸入q退出) |
pstree | 以樹狀圖顯示程序 |
man ping | 查看參考手冊(例如ping 命令) |
passwd | 修改密碼 |
df -h | 顯示磁盤的使用情況 |
cal -3 | 顯示前一個月,當前月以及下一個月的月歷 |
cal 10 1988 | 顯示指定月,年的月歷 |
date –date ‘1970-01-01 UTC 1427888888 seconds’ | 把一相對於1970-01-01 00:00的秒數轉換成時間 |
users 顯示當前登錄系統地用戶 | |
who 登錄在本機的用戶與來源 | |
last 查看用戶的登陸日志 | |
lastlog 查看每個用戶最后的登陸時間 | |
hostname 查看主機名 | |
useradd [-u UID] [-g 初始群組] [-G 次要群組] [-c 說明欄] [-d 家目錄絕對路徑] [-s shell] 使用者賬號名 | 新增用戶 | |
passwd | 修改密碼 |
-l 使密碼失效 |
userdel 刪除用戶 | -r 用戶文件一並刪除 |
chage [-ldEImMW] 賬號名 | 修改用戶密碼的相關屬性 |
-l 列出該賬號的詳細密碼參數; |
usermod [-cdegGlsuLU] username | 修改用戶的相關屬性 |
-c 后面接賬號的說明,即 /etc/passwd 第五欄的說明欄,可以加入一些賬號的說明。 |
id [username] | 查看用戶相關的id信息,還可以用來判斷用戶是否存在 | |
groups 查看登陸用戶支持的群組, 第一個輸出的群組為有效群組 | |
groupadd [-g gid] 組名 | 添加組 | -g 設定添加組的特定組id |
groupmod [-g gid] [-n group_name] 群組名 | 修改組信息 |
-g 修改既有的 GID 數字 |
chgrp [組名] [文件名] |
修改所屬文件群組 |
groupdel [groupname] | 刪除群組 | |
chown [用戶名] [文件名] | 改變文件的擁有者 |
chmod [權限] [文件名] | 更改文件權限: linux下每個文件都是按照讀、寫、執行 設定權限 rwx:4+2+1=7 10個字符代表權限例如:-rw-r--r--1 第一個字符代表文件(-)、目錄(d)、鏈接(x) 其余三個一組:rwx、讀(r)、寫(w)、執行(x) 第一組:所有者u的權限 第二組:所屬組g的權限 第三組:其他者o的權限 |
gpasswd | 群組管理員功能 | root管理員動作: -gpasswd groupname 設定密碼 -gpasswd [-A user1,...] [-M user3,...] groupname -A 將 groupname 的主控權交由后面的使用者管理(該群組的管理員) -M 將某些賬號加入這個群組當中 -gpasswd [-r] groupname -r 將 groupname 的密碼移除 群組管理員動作: - gpasswd [-ad] user groupname -a 將某位使用者加入到 groupname 這個群組當中 -d 將某位使用者移除出 groupname 這個群組當中 |
chfn修改個人信息 | |
date [參數]… [+格式] | 顯示或設定系統的日期與時間 | %H 小時(以00-23來表示)。 %M 分鍾(以00-59來表示)。 %P AM或PM。 %D 日期(含年月日) %U 該年中的周數。 date -s “2015-10-17 01:01:01″ //時間設定 date +%Y%m%d //顯示前天年月日 date +%Y%m%d --date="+1 day/month/year" //顯示前一天/月/年的日期 date +%Y%m%d --date="-1 day/month/year" //顯示后一天/月/年的日期 date -d '2 weeks' 2周后的日期 |
top [參數] | 顯示當前系統正在執行的進程的相關信息,包括進程ID、內存占用率、CPU占用率等 | |
kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>] | -l <信息編號> 若不加<信息編號>選項,則-l參數會列出全部的信息名稱。 殺死進程: # kill 12345 強制殺死進程:# kill -KILL 123456 徹底殺死進程:# kill -9 123456 |
crontab | 定時任務調度 | 選項: |
ifconfig [網絡設備] [參數] | 查看和配置網絡設備 | |
ping [參數] [主機名或IP地址] | 測試與目標主機的連通性 | |
rcp [參數] [源文件] [目標文件] | 遠程文件拷貝 | -r 遞歸復制 -p 保留源文件的屬性 usage: rcp –r remote_hostname:remote_dir local_dir |
wget [參數] [URL地址] | 直接從網絡上下載文件 | -o FILE 把記錄寫到FILE文件中 eg : wget -O a.txt URL wget --limit-rate=300k URL 限速下載 |
uname -a 顯示系統名,節點名,操作系統發行編號,操作系統版本,運行系統的機器編號ID | |
getconf LONG_BIT 查看當前操作系統是多少位 | |
bc 調用計算器命令 +加 -減 *乘 /除 %取余 ^次方 | |
XSheel 5相關操作
窗體快捷鍵
命令 | 解析 |
---|---|
Ctrl + u | 刪除光標之前到行首的字符 |
Ctrl + k | 刪除光標之前到行尾的字符 |
Ctrl + c | 取消當前行輸入的命令,相當於Ctrl + Break |
Ctrl + a | 光標移動到行首(ahead of line),相當於通常的Home鍵 |
Ctrl + e | 光標移動到行尾(end of line) |
Ctrl + f | 光標向前(forward)移動一個字符位置 |
Ctrl + b | 光標往回(backward)移動一個字符位置 |
Ctrl + l | 清屏,相當於執行clear命令 |
Ctrl + r | 顯示:號提示,根據用戶輸入查找相關歷史命令(reverse-i-search) |
Ctrl + w | 刪除從光標位置前到當前所處單詞(word)的開頭 |
Ctrl + t | 交換光標位置前的兩個字符 |
Ctrl + y | 粘貼最后一次被刪除的單詞 |
Ctrl + Alt + d | 顯示桌面 |
Alt + b | 光標往回(backward)移動到前一個單詞 |
Alt + d | 刪除從光標位置到當前所處單詞的末尾 |
Alt + F2 | 運行 |
Alt + F4 | 關閉當前窗口 |
Alt + F9 | 最小化當前窗口 |
Alt + F10 | 最大化當前窗口 |
Alt + Tab | 切換窗口 |
Alt + 左鍵 | 移動窗口(或在最下面的任務欄滾動鼠標滑輪) |
操作小技巧
鼠標中間鍵:粘貼突出顯示的文本。(使用鼠標左鍵來選擇文本。把光標指向想粘貼文本的地方。點擊鼠標中間鍵來粘貼。)
Tab:命令行自動補全。使用 shell 提示時可使用這一方式。鍵入命令或文件名的前幾個字符,然后按 [Tab] 鍵,它會自動補全命令或顯示匹配鍵入字符的所有命令。
在滾動條的空白處點擊鼠標中鍵:屏幕即滾動到那個地方。
在桌面或文件管理器中直接按 / 就可以輸入位置,打開文件管理器。
在 vi 或 Firefox 中直接按 / 即可進入快速搜索狀態。
網站鏈接和圖片可直接拖放到桌面或者目錄,可以馬上下載。
直接將文件管理器中的文件拖到終端中就可以在終端中得到完整的路徑名。