linux命令

清风拂山岗(小高同学)發表於2024-10-20

linux命令

1.遠端連線linux

1.1 windows的指令終端連線linux

開啟終端

語法:ssh 使用者名稱@ip地址
比如:ssh root@192.168.61.131

1.2 xshell等遠端工具

2.常用指令

#遠端登入linux系統
ssh root@ip地址

#斷開連線
exit

#重啟系統
reboot 或者 shutdown -r now

#關機指令
shutdown #預設30秒之後才會關機

#立即關機
shutdown  -h now

# 關機
shutdown -h now

#十分鐘之後關機
shutdown  -h  10

3.1檔案相關

新建檔案

touch

touch 1.txt  				#建立單個檔案
touch test{1..10}.txt 		#批次建立檔案touch test{1..10}.txt
touch /root/tool/bin/data.txt  	#在指定的/root目錄下,建立檔案data.txt
# 如果touch的檔名稱重複了,不會覆蓋原檔案

檢視檔案

ls 				# 檢視所有【不包括隱藏檔案】
ls -a    		# 檢視所有【包括隱藏檔案】
ls  -1          # 以一行一個檔案的方式顯示,注意這是-1,是數字1,不是l
ls -l   		#類似於windows的詳細列表,這個-l不是數字1
ls test09.txt   # 檢視test09.txt是否存在,有會顯示檔名稱,沒有會報錯
ls -a -1        #檢視所有檔案【包括隱藏檔案】,以一行一個來顯示
ls *.txt        # 檢視以txt結尾的所有檔案,類似於windows下的*.字尾名搜尋

刪除檔案

rm -f 

rm -f 檔案    	 	 # 刪除一個檔案
rm -f 檔案1 檔案1   	# 刪除多個檔案
rm -f {1..10}.txt     # 批次刪除【根據需求自己改數字】
rm -f /opt/test01.txt # 將/opt目錄下的test01.txt檔案刪除

複製與移動檔案

cp

cp 1.txt 11.txt   # 複製1.txt並重新命名為11.txt
cp 1.txt /root/tool/bin/22.txt   # 複製1.txt/root/tool/bin路徑下到並重新命名為22.txt

重新命名&移動

mv

mv 1.txt 11.txt    # 將1.txt命名為11.txt

# 目前在/root/tool/pycharm/bin    該路徑下有一個檔案
mv data.txt /root   # 將/root/tool/pycharm/bin下的data.txt移動到root目錄下

3.2 資料夾相關

·建立目錄

mkdir

mkdir data			  # 建立一個data目錄
mkdir data{1..10}     #批次建立多個目錄
mkdir -p tools/pycharm/bin #一次性建立多級子目錄

·刪除目錄

rm -rf

rm -rf 目錄  			# 刪除指定目錄
rm -rf data{1..10}	  # 刪除多個目錄

重新命名目錄

mv 

mv data data1

切換目錄

cd 

cd local    	#切換到local目錄中
cd /usr/local   #切換到目錄/usr/local
cd ..           #切換到上一級目錄
cd ../..  		# 進入上一級的上一級目錄 ,還可以繼續../
cd / 			# 直接切換到根目錄

檢視歷史指令

history         # 歷史指令查詢

3.4 管道

管道符號: | ,可以將前面指令的執行結果,作為後面指令的操作內容。

檢視ip地址

ip a|tail -4|head -1

3.5 檔案內容過濾

檢視檔案內容

  • cat【檢視全部】

    cat 檔名
    
    cat data.txt  # 從上往下顯示
    cat -n data.txt  # 從上往下顯示&同時顯示行數 
    # 補充
    tac data.txt  # 從下往上看
    
    
  • head【正著看】

    head 檔名
    
    head data.txt       # 檢視檔案的前十行,預設
    head  -5 data.txt   # 檢視檔案的前5行
    
  • tail【倒著看】

    tail 檔名
    
    tail data.txt       #檢視檔案的倒數十行,預設
    tail  -5 data.txt   #檢視檔案的倒數5行
    

檢視行數

# 方式一
cat -n data.txt  

# 方式二
vi data.txt
:set number
    
# 方式三
wc -l data.txt 

檢視位元組

# 注意:一個英文字母是1個位元組;一箇中文是3個位元組;

wc -c data.txt 

wc

# 檢視檔案的行數
wc -l data.txt 

# 檢視檔案的位元組數
wc -c data.txt 

# 統計指令執行結果有多少行
ip a |wc -l

# 統計bin目錄下有多少個命令檔案
ls /bin|wc -l

匹配

# 普透過濾【將含有pwp這個字元的行過濾出來】
grep 'pwp' anaconda-ks.cfg

# 在過濾的基礎上顯示行號
grep -n 'pwp' anaconda-ks.cfg

# 精準匹配【把有完整pwpolicy這個字元的行過濾出來】  如果不顯示行號,直接去除-n 引數即可
grep -n -w 'pwpolicy' anaconda-ks.cfg

# 拿ip來舉例
ip a |grep -w inet |tail -1

按列過濾

row 1, cell 1 row 1, cell 2
row 2, cell 1 row 2, cell 2

awk
# 取列,$1代表第一列,$2代表第二列,$NF代表最後一列
# 注意,必須是單引號

# 預設是以空格分開的   
awk '{print $1}' data.txt         
# 以,分開的   
awk -F ',' '{print $1}' data.txt 

3.6 生成數字序列

seq 1 5
sql -w 1 5

[root@localhost ~]# seq -w 1 5
01
02
03
04
05


[root@localhost ~]# seq -w 1 5
001
002
003
004
005

3.7 排序

sort # 預設排序,先數字後字母

# 先數字後字母
cat gaotao.txt|sort

#先字母后數字
cat gaotao.txt|sort -n 

3.8 去重

uniq  # 唯一、去重的意思,但是它是將連續的去重,不會間隔去重,所以最好先排序再去


# 對於不連續的,不會去重
cat gaotao.txt|uniq

# 先排序,後去重
cat gaotao.txt|sort -n|uniq

相關文章