linux常用命令

1.Linux 基本命令

1.1 Linux虛擬機的關機和重啓

關機

shutdown -h now 立刻關機
shutdown -h 5 5分鐘後關機
poweroff 立刻關機

重啓

shutdown -r now 立刻重啓
shutdown -r 5 5分鐘後重啓
reboot 立刻重啓

1.2 幫助命令

2. 目錄操作命令

2.1 目錄切換

cd / 切換到根目錄
cd /usr 切換到根目錄下的usr目錄
cd … 切換到上一級目錄 或者 cd …
cd ~ 切換到home目錄
cd - 切換到上次訪問的目錄

2.2 目錄查看

ls 查看當前目錄下的所有目錄和文件
ls -a 查看當前目錄下的所有目錄和文件(包括隱藏的文件)
ls -l 列表查看當前目錄下的所有目錄和文件(列表查看,顯示更多信息)
ls /dir 查看指定目錄下的所有目錄和文件 如:ls /usr
在這裏插入圖片描述
注意:在Linux中,文件以“.”開頭的就是隱藏文件,並且每個文件,文件夾,設備或者命令都是以文件對待。ls -l 命令輸出:

d (代表了是目錄);
rwxr-xr-x 是文件或者目錄對所屬用戶,同一組用戶和其它用戶的權限;
上面例子中第一個root 代表了文件屬於用戶root;
上面例子中的第二個root 代表了文件屬於用戶組root;
178 代表了文件大小爲178字節;
Jun 28 00:57 代表了文件最後一次修改的日期和時間;
最後面的就是文件/文件夾的名字。

2.3 目錄操作【增,刪,改,查】

2.3.1 創建目錄【增】 mkdir

命令:mkdir 目錄

mkdir aaa 在當前目錄下創建一個名爲aaa的目錄
mkdir /usr/aaa 在指定目錄下創建一個名爲aaa的目錄

2.3.2 刪除目錄或文件【刪】rm

命令:rm [-rf] 目錄

刪除文件:
rm 文件 刪除當前目錄下的文件
rm -f 文件 刪除當前目錄的的文件(不詢問)

刪除目錄:
rm -r aaa 遞歸刪除當前目錄下的aaa目錄
rm -rf aaa 遞歸刪除當前目錄下的aaa目錄(不詢問)

全部刪除:
rm -rf * 將當前目錄下的所有目錄和文件全部刪除
rm -rf /* 【自殺命令!慎用!慎用!慎用!】將根目錄下的所有文件全部刪除

注意:rm不僅可以刪除目錄,也可以刪除其他文件或壓縮包,爲了方便大家的記憶,無論刪除任何目錄或文件,都直接使用 rm -rf 目錄/文件/壓縮包

2.3.3 目錄修改【改】mv 和 cp

1. 重命名目錄

命令:mv 當前目錄 新目錄
例如:mv aaa bbb 將目錄aaa改爲bbb
注意:mv的語法不僅可以對目錄進行重命名而且也可以對各種文件,壓縮包等進行 重命名的操作

2. 剪切目錄

命令:mv 目錄名稱 目錄的新位置
示例:將/usr/tmp目錄下的aaa目錄剪切到 /usr目錄下面 mv /usr/tmp/aaa /usr
注意:mv語法不僅可以對目錄進行剪切操作,對文件和壓縮包等都可執行剪切操作

3. 拷貝目錄

命令:cp -r 目錄名稱 目錄拷貝的目標位置 -r代表遞歸
示例:將/usr/tmp目錄下的aaa目錄複製到 /usr目錄下面 cp /usr/tmp/aaa /usr
注意:cp命令不僅可以拷貝目錄還可以拷貝文件,壓縮包等,拷貝文件和壓縮包時不 用寫-r遞歸

2.3.4 搜索目錄【查】find

命令:find 目錄 參數 文件名稱
示例:find /usr/tmp -name ‘a*’ 查找/usr/tmp目錄下的所有以a開頭的目錄或文件

3. 文件操作命令

3.1 文件操作【增,刪,改,查】

3.1.1 新建文件【增】touch

命令:touch 文件名
示例:在當前目錄創建一個名爲aa.txt的文件 touch aa.txt

3.1.2 刪除文件 【刪】 rm

命令:rm -rf 文件名

3.1.3 修改文件【改】 vi或vim

【vi編輯器的3種模式】
基本上vi可以分爲三種狀態,分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區分如下:

  1. 命令行模式command mode)
    控制屏幕光標的移動,字符、字或行的刪除,查找,移動複製某區段及進入Insert mode下,或者到 last line mode。
    命令行模式下的常用命令:
    【1】控制光標移動:↑,↓,j
    【2】刪除當前行:dd
    【3】查找:/字符
    【4】進入編輯模式:i o a
    【5】進入底行模式::

  2. 編輯模式(Insert mode)
    只有在Insert mode下,纔可以做文字輸入,按「ESC」鍵可回到命令行模式。
    編輯模式下常用命令:
    【1】ESC 退出編輯模式到命令行模式;

  3. 底行模式(last line mode)
    將文件保存或退出vi,也可以設置編輯環境,如尋找字符串、列出行號……等。
    底行模式下常用命令:
    【1】退出編輯: :q
    【2】強制退出: :q!
    【3】保存並退出: :wq

打開文件

命令:vi 文件名
示例:打開當前目錄下的aa.txt文件 vi aa.txt 或者 vim aa.txt

注意:使用vi編輯器打開文件後,並不能編輯,因爲此時處於命令模式,點擊鍵盤i/a/o進入編輯模式。

編輯文件

使用vi編輯器打開文件後點擊按鍵:i ,a或者o即可進入編輯模式。

i:在光標所在字符前開始插入
a:在光標所在字符後開始插入
o:在光標所在行的下面另起一新行插入

保存或者取消編輯

保存文件

第一步:ESC 進入命令行模式
第二步:: 進入底行模式
第三步:wq 保存並退出編輯

取消編輯

第一步:ESC 進入命令行模式
第二步:: 進入底行模式
第三步:q! 撤銷本次修改並退出編輯

3.1.4 文件的查看【查】

文件的查看命令:cat/more/less/tail

cat:看最後一屏

示例:使用cat查看/etc/sudo.conf文件,只能顯示最後一屏內容
cat sudo.conf

more:百分比顯示

示例:使用more查看/etc/sudo.conf文件,可以顯示百分比,回車可以向下一行,空格可以向下一頁,q可以退出查看
more sudo.conf

less:翻頁查看

示例:使用less查看/etc/sudo.conf文件,可以使用鍵盤上的PgUp和PgDn向上 和向下翻頁,q結束查看
less sudo.conf

tail:指定行數或者動態查看

示例:使用tail -10 查看/etc/sudo.conf文件的後10行,Ctrl+C結束
tail -10 sudo.conf

3.2 權限修改

rwx:r代表可讀,w代表可寫,x代表該文件是一個可執行文件,如果rwx任意位置變爲-則代表不可讀或不可寫或不可執行文件。

示例:給aaa.txt文件權限改爲可執行文件權限,aaa.txt文件的權限是-rw-------

第一位:-就代表是文件,d代表是文件夾
第一段(3位):代表擁有者的權限
第二段(3位):代表擁有者所在的組,組員的權限
第三段(最後3位):代表的是其他用戶的權限

421 421 421

  • rw- — —

命令:chmod +x aaa.txt
或者採用8421法
命令:chmod 100 aaa.txt

4. 壓縮文件操作

4.1 打包和壓縮

Windows的壓縮文件的擴展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的壓縮文件:bb.gz
linux中打包並壓縮的文件:.tar.gz

Linux中的打包文件一般是以.tar結尾的,壓縮的命令一般是以.gz結尾的。
而一般情況下打包和壓縮是一起進行的,打包並壓縮後的文件的後綴名一般.tar.gz。

命令:tar -zcvf 打包壓縮後的文件名 要打包的文件
其中:z:調用gzip壓縮命令進行壓縮
c:打包文件
v:顯示運行過程
f:指定文件名

示例:打包並壓縮/usr/tmp 下的所有文件 壓縮後的壓縮包指定名稱爲xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *

4.2 解壓

命令:tar [-zxvf] 壓縮文件
其中:x:代表解壓
示例:將/usr/tmp 下的ab.tar解壓到當前目錄下

tar -zxvf ab.tar

示例:將/usr/tmp 下的ab.tar解壓到根目錄/usr下
tar -xvf ab.tar -C /usr------C代表指定解壓的位置

tar -zxvf ab.tar -C /usr/

5. 查找命令

5.1 grep

grep命令是一種強大的文本搜索工具

使用實例:

ps -ef | grep sshd 查找指定ssh服務進程
ps -ef | grep sshd | grep -v grep 查找指定服務進程,排除gerp身
ps -ef | grep sshd -c 查找指定進程個數

5.2 find

find命令在目錄結構中搜索文件,並對搜索結果執行指定的操作。

find 默認搜索當前目錄及其子目錄,並且不過濾任何結果(也就是返回所有文件),將它們全都顯示在屏幕上。

使用實例:

find . -name ".log" -ls 在當前目錄查找以.log結尾的文件,並顯示詳細信息。
find /root/ -perm 600 查找/root/目錄下權限爲600的文件

find . -type f -name “*.log” 查找當目錄,以.log結尾的普通文件
find . -type d | sort 查找當前所有目錄並排序
find . -size +100M 查找當前目錄大於100M的文件

5.3 locate

locate 讓使用者可以很快速的搜尋某個路徑。默認每天自動更新一次,所以使用locate 命令查不到最新變動過的文件。爲了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫。如果數據庫中沒有查詢的數據,則會報出locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory該錯誤!updatedb即可!

yum -y install mlocate 如果是精簡版CentOS系統需要安裝locate命令

使用實例:

updatedb
locate /etc/sh 搜索etc目錄下所有以sh開頭的文件
locate pwd 查找和pwd相關的所有文件

5.4 whereis

whereis命令是定位可執行文件、源代碼文件、幫助文件在文件系統中的位置。這些文件的屬性應屬於原始代碼,二進制文件,或是幫助文件。

使用實例:

whereis ls 將和ls文件相關的文件都查找出來

5.5 which

which命令的作用是在PATH變量指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。

使用實例:

which pwd 查找pwd命令所在路徑
which java 查找path中java的路徑

6. su、sudo

6.1 su

su用於用戶之間的切換。但是切換前的用戶依然保持登錄狀態。如果是root 向普通或虛擬用戶切換不需要密碼,反之普通用戶切換到其它任何用戶都需要密碼驗證。

su test:切換到test用戶,但是路徑還是/root目錄
su - test : 切換到test用戶,路徑變成了/home/test
su : 切換到root用戶,但是路徑還是原來的路徑
su - : 切換到root用戶,並且路徑是/root
su不足:如果某個用戶需要使用root權限、則必須要把root密碼告訴此用戶。

退出返回之前的用戶:exit

6.2 sudo
sudo是爲所有想使用root權限的普通用戶設計的。可以讓普通用戶具有臨時使用root權限的權利。只需輸入自己賬戶的密碼即可。

進入sudo配置文件命令:

vi /etc/sudoer或者visudo
案例:
允許hadoop用戶以root身份執行各種應用命令,需要輸入hadoop用戶的密碼。
hadoop ALL=(ALL) ALL

案例:
只允許hadoop用戶以root身份執行ls 、cat命令,並且執行時候免輸入密碼。
配置文件中:
hadoop ALL=NOPASSWD: /bin/ls, /bin/cat

7. 系統服務

service iptables status --查看iptables服務的狀態
service iptables start --開啓iptables服務
service iptables stop --停止iptables服務
service iptables restart --重啓iptables服務

chkconfig iptables off --關閉iptables服務的開機自啓動
chkconfig iptables on --開啓iptables服務的開機自啓動

8. 網絡管理

8.1 主機名配置

[root@node1 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1

8.2 IP 地址配置

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

8.3 域名映射

/etc/hosts文件用於在通過主機名進行訪問時做ip地址解析之用。所以,你想訪問一個什麼樣的主機名,就需要把這個主機名和它對應的ip地址。

[root@node1 ~]# vi /etc/hosts
####在最後加上
192.168.52.201  node1
192.168.52.202  node2
192.168.52.203  node3

9. 定時任務指令crontab 配置

crontab是Unix和Linux用於設置定時任務的指令。通過crontab命令,可以在固定間隔時間,執行指定的系統指令或shell腳本。時間間隔的單位可以是分鐘、小時、日、月、周及以上的任意組合。

crontab安裝:

yum install crontabs
服務操作說明:

service crond start ## 啓動服務
service crond stop ## 關閉服務
service crond restart ## 重啓服務

9.1 命令格式

crontab [-u user] file

crontab [-u user] [ -e | -l | -r ]

參數說明:

-u user:用來設定某個用戶的crontab服務

file:file是命令文件的名字,表示將file做爲crontab的任務列表文件

並載入crontab。

-e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前

用戶的crontab文件。

-l:顯示某個用戶的crontab文件內容。如果不指定用戶,則表示顯示當前

用戶的crontab文件內容。

-r:刪除定時任務配置,從/var/spool/cron目錄中刪除某個用戶的crontab

文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。

命令示例:

crontab file [-u user] ## 用指定的文件替代目前的crontab
crontab -l [-u user] ## 列出用戶目前的crontab
crontab -e [-u user] ## 編輯用戶目前的crontab

9.2 配置說明、實例

命令:* * * * * command

解釋:分 時 日 月 周 命令

第1列表示分鐘1~59 每分鐘用*或者 */1表示

第2列表示小時0~23(0表示0點)

第3列表示日期1~31

第4列表示月份1~12

第5列標識號星期0~6(0表示星期天)

第6列要運行的命令

配置實例:

先打開定時任務所在的文件:
crontab -e

每分鐘執行一次date命令
*/1 * * * * date >> /root/date.txt

每晚的21:30重啓apache。
30 21 * * * service httpd restart

每月1、10、22日的4 : 45重啓apache。
45 4 1,10,22 * * service httpd restart

每週六、週日的1 : 10重啓apache。
10 1 * * 6,0 service httpd restart

每天18 : 00至23 : 00之間每隔30分鐘重啓apache。
0,30 18-23 * * * service httpd restart
晚上11點到早上7點之間,每隔一小時重啓apache

  • 23-7/1 * * * service httpd restart

10. 其他命令

10.1 查看當前目錄:pwd

命令:pwd 查看當前目錄路徑

10.2 查看進程:ps -ef

命令:ps -ef 查看所有正在運行的進程

10.3 結束進程:kill

命令:kill pid 或者 kill -9 pid(強制殺死進程) pid:進程號

10.4 網絡通信命令

ifconfig:查看網卡信息

命令:ifconfig 或 ifconfig | more

ping:查看與某臺機器的連接情況

命令:ping ip

netstat -an:查看當前系統端口

命令:netstat -an

搜索指定端口
命令:netstat -an | grep 8080

10.5 配置網絡

命令:setup

10.6 重啓網絡

命令:service network restart

10.7 切換用戶

命令:su - 用戶名

10.8 關閉防火牆

命令:chkconfig iptables off

或者:

iptables -L;
iptables -F;
service iptables stop

10.9 修改文件權限

命令:chmod 777

10.10 清屏

命令:ctrl + l 或者使用 clear

10.11 vi模式下快捷鍵

esc後:

保存並退出快捷鍵:shift+z+z

光標跳到最後一行快捷鍵:shift+g

刪除一行:dd

複製一行內容:y+y

粘貼複製的內容:p

參考
https://blog.csdn.net/qq_23329167/article/details/83856430
https://www.oschina.net/translate/useful-linux-commands-for-newbies

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章