linux 常用参数,Linux 常用命令及参数整理
1.. cat? -t
2.. ls? -t -u
3..
uniq -c-u -d
4..
sort -k
-u -t -f -n
5.. tail head
6.. rpm -q -ql -qf -qc
7.. find
8.. sz 從服務器上下載文件
9.. du 和 df 命令區別
1.. cat
-t 相當于 -vT?? 作用是顯示文件中的tab符號,通常和-v參數一起使用。
[root@watchout2 ~]# cat -t -v nu? (^I表示制表符,2和3之間是回車,沒有顯示出來,不知怎么解釋,請指教)
1
2
3
4^I
5
^I6
2.. ls? 默認輸出是以字母表的順序列出文件
ls -R?? 列出所有子目錄(ls -R ./*/*/*列出當前目錄下三層目錄)
ls -t??? 根據文件的修改時間,即文件被改變的最后時間來進行分類。最先列出最新的文件。
[root@watchout2 /]# ls -t
etc?? tmp? home?? sys?? dev???? aaa? rsync? apacheTomcat? index.jsp.bak? bin????? lib??? lost+found? boot? misc??? mnt? srv
root? file? selinux? proc? nagios? www? var??? index???????? sbin?????????? 1tomcat? media? tftpboot??? usr?? initrd? opt
[root@watchout2 /]# touch /home/shell
[root@watchout2 /]# ls -t
home root? file???? sys?? dev???? aaa? rsync? apacheTomcat? index.jsp.bak? bin????? lib??? lost+found? boot? misc??? mnt? srv
etc? tmp?? selinux? proc? nagios? www? var??? index???????? sbin?????????? 1tomcat? media? tftpboot??? usr?? initrd? opt
修改時間最新舊順序從最左邊由上向下,爾后第二列由上向下,左上角為最新修改的時間,右下角的是最舊的修改時間。
ls?-u 顯示文件的最后訪問時間而不是最后修改時間。單獨的ls同-u不會做任何事情,用戶必須將它同另外一個選項,如-t或者-l一起使用。
[root@watchout2 /]# ls -ut
etc?? bin?? usr?? dev?? selinux? var? 1tomcat? apacheTomcat? initrd????? media? mnt???? opt??? srv?????? tmp? proc?? index.jsp.bak
root? sbin
file home? sys????? lib? aaa????? boot????????? lost+found? misc?? nagios? rsync? tftpboot? www? index
[root@watchout2 /]# cat file
aaaaaaaaaaaaaaaaaaaaaaaaaa
[root@watchout2 /]# ls -ut
file root? sbin? dev?? selinux? var? 1tomcat? apacheTomcat? initrd????? media? mnt???? opt??? srv?????? tmp? proc?? index.jsp.bak
etc?? bin?? usr?? home? sys????? lib? aaa????? boot????????? lost+found? misc?? nagios? rsync? tftpboot? www? index
[root@watchout2 /]# cd boot
[root@watchout2 boot]# cd ..
[root@watchout2 /]# ls -ut
boot
etc?? bin?? usr? home???? sys? lib????? aaa?????????? initrd????? media? mnt???? opt??? srv?????? tmp? proc?? index.jsp.bak
file? root? sbin? dev? selinux? var? 1tomcat? apacheTomcat? lost+found? misc?? nagios? rsync? tftpboot? www? index
3..
uniq 用來刪除已排序的文件中相鄰文本行的重復內容。
如:
[root@watchout2 ~]# cat nu
1
1
2
2
3
3
4
4
5
5
6
1
2
3
4
5
6
[root@watchout2 ~]# uniq nu
1
2
3
4
5
6
1
2
3
4
5
6
[root@watchout2 ~]# uniq nu nu.bak? (將uniq 對文件nu的處理結果輸入新的文件nu.bak)
[root@watchout2 ~]# cat nu.bak
1
2
3
4
5
6
1
2
3
4
5
6
[root@watchout2 ~]#
以上說明uniq會處理相鄰行重復的內容
uniq 的參數
-c?? 一次打印一行文本,并且計算每行出現的次數。(計算每行出現的次數是指的相鄰的行出現的次數)
[root@watchout2 ~]# uniq -c nu???? (紅色為出現的次數,但“6”出現了兩次,但不是相鄰的)
2 1
2 2
23
2 4
2 5
1 6
1 1
12
1 3
14
15
1 6
-d? 打印出重復的文本行,而不是惟一的文本行。(仍然指的是相鄰重復的行)
[root@watchout2 ~]# uniq -d nu
1
2
3
4
5
-u? 只打印唯一的文本行
[root@watchout2 ~]# uniq -u nu
6
1
2
3
4
5
6
4..
sort
沒有特別指明,默認的字段定界符是空白(空格處或tab字符處)把每一行分割成多個字段,然后從左到右計算字段數量,并且從0開始計數。
sort? datafile? 以字母順序排列datafile文件中域0的文件行
[root@watchout2 ~]# cat datafile
M H:(424)2222233:250:890:102323111
Y U:(433)3334443:250:890:124234
M H:(424)4444433:250:890:12222
M H:(424)2222888:250:890:100
M H:(424)2222833:250:890:103M H:(424)2222233:250:890:102323111
Y U:(433)3334443:250:890:124234
M H:(424)4444433:250:890:12222
M H:(424)2222888:250:890:100
M H:(424)2222833:250:890:103
[root@watchout2 ~]# sort +2 -3? +0 -1?? datafile??? 意思是對文件datafile,先進行第三個域進行排序(第一行第三個域排序完成后,一般情況下是在同行上,下一個域進行排序,當有了-3后就對第四個域停止排序),在(-3)第四個域停止排序。爾后在第一個域進行排序,在(-1)第二個域停止排序。
[root@watchout2 ~]# sort -u datafile
-u 排列并合并相同的文本行
M H:(424)2222233:250:890:102323111
M H:(424)2222833:250:890:103
M H:(424)2222888:250:890:100
M H:(424)4444433:250:890:12222
Y U:(433)3334443:250:890:124234
[root@watchout2 ~]# sort datafile
M H:(424)2222233:250:890:102323111
M H:(424)2222233:250:890:102323111
M H:(424)2222833:250:890:103
M H:(424)2222833:250:890:103
M H:(424)2222888:250:890:100
M H:(424)2222888:250:890:100
M H:(424)4444433:250:890:12222
M H:(424)4444433:250:890:12222
Y U:(433)3334443:250:890:124234
Y U:(433)3334443:250:890:124234
[root@watchout2 ~]# sort -r datafile??? -r 反向排序
Y U:(433)3334443:250:890:124234
Y U:(433)3334443:250:890:124234
M H:(424)4444433:250:890:12222
M H:(424)4444433:250:890:12222
M H:(424)2222888:250:890:100
M H:(424)2222888:250:890:100
M H:(424)2222833:250:890:103
M H:(424)2222833:250:890:103
M H:(424)2222233:250:890:102323111
M H:(424)2222233:250:890:102323111
sort -f datafile? 忽略大小寫
[root@station tmp]# sort -f -u test
1234
aaaa
bbbb
cccc
[root@station tmp]# sort -u test
1234
aaaa
AAAA
bbbb
cccc
CCCC
sort -t: +2 datafile 指定冒號:為域分隔符,對第三個域進行排序(域從0開始記數)
注:對第二個域進行排序,首先對第二個域中的第一位數字進行排序即:0、1、2進行比較
如果第一個數相同,則對下一個數字進行比較。
root:/root>sort -t: +1 num
9:08:70
7:17:40
8:26:50
[root@watchout2 ~]# sort -t: +5 -6 datafile
M H:(424)2222233:250:890:102323111
M H:(424)2222233:250:890:102323111
M H:(424)2222833:250:890:103
M H:(424)2222833:250:890:103
M H:(424)2222888:250:890:100
M H:(424)2222888:250:890:100
M H:(424)4444433:250:890:12222
M H:(424)4444433:250:890:12222
Y U:(433)3334443:250:890:124234
Y U:(433)3334443:250:890:124234
[root@watchout2 ~]# sort -t: -r +5 -6 datafile (-r 進行反向排序)
Y U:(433)3334443:250:890:124234
Y U:(433)3334443:250:890:124234
M H:(424)4444433:250:890:12222
M H:(424)4444433:250:890:12222
M H:(424)2222888:250:890:100
M H:(424)2222888:250:890:100
M H:(424)2222833:250:890:103
M H:(424)2222833:250:890:103
M H:(424)2222233:250:890:102323111
M H:(424)2222233:250:890:102323111
[root@watchout2 ~]# sort -t: -n +4 -5datafile -n 以數字為序
M H:(424)2222888:250:890:100
M H:(424)2222888:250:890:100
M H:(424)2222833:250:890:103
M H:(424)2222833:250:890:103
M H:(424)4444433:250:890:12222
M H:(424)4444433:250:890:12222
Y U:(433)3334443:250:890:124234
Y U:(433)3334443:250:890:124234
M H:(424)2222233:250:890:102323111
M H:(424)2222233:250:890:102323111
如果有從第幾個域排序,一定要有在那個域結束。
5.. tail
tail? -f????? 觀察文件的增長
tail? -n??x ?查看文件的最后x行
tail? +y??? 查看文件第y行到最后
head filename?????????(默認是查看文件的前10行)
head -100 filename (查看文件的前100行)
ls |head?(如果目錄下有幾萬個文件,使用這條命令可以大大縮短查看時間,默 認查看前10行)
ls |head -n 15? (查看前15行)
6.. rpm
rpm -q? 要查詢系統中是否安裝該程序時
root:/>rpm -q mysql
mysql-4.1.7-4.RHEL4.1
rpm -ql?? 查詢包的所有文件在系統中安裝的位置
root:/>rpm -ql mysql-server
/etc/logrotate.d/mysqld
/etc/rc.d/init.d/mysqld
/usr/bin/isamchk
/usr/bin/isamlog
/usr/bin/my_print_defaults
/usr/bin/myisam_ftdump
/usr/bin/myisamchk
/usr/bin/myisamlog
/usr/bin/myisampack
/usr/bin/mysql_convert_table_format
/usr/bin/mysql_create_system_tables
/usr/bin/mysql_explain_log
/usr/bin/mysql_fix_extensions
/usr/bin/mysql_fix_privilege_tables
/usr/bin/mysql_install_db
……………………
……………………
rpm -qf??查詢系統中的某個文件是屬于哪一個程序包
root:/>rpm -qf /usr/bin/sar
sysstat-5.0.5-1
root:/>
rpm -qc 列出程序的配置文件
root:/>rpm -qc vsftpd
/etc/logrotate.d/vsftpd.log
/etc/pam.d/vsftpd
/etc/vsftpd.ftpusers
/etc/vsftpd.user_list
/etc/vsftpd/vsftpd.conf
root:/>rpm -qc iptables
/etc/rc.d/init.d/iptables
/etc/sysconfig/iptables-config
root:/>
7.. find
根據類型搜索文件
b 塊特殊文件???? c字符特殊文件???? d目錄?????? ?f普通文件
l 符號鏈接????????? p 命名管道文件??? s套接字
8.. sz 從服務器上下載文件
rz? 從本地上傳文件
netstat -antp
netstat -lntp
netstat -tulnp
for i in `ps -ef |grep dns |awk '{ print $3 }'`;do?dig www.sina.com.cn @${i}>>./result_file.txt ; done
查看系統硬件信息 dmidecode
9.. du 和 df 命令區別
du 和 df 命令區別,查看了網上的說明個人理解如下:
du 是直接各各目錄的大小,爾不是從硬盤獲得信息的
df 是通過硬盤信息進行計算的
所以有時候會遇到 du 的值與df 的值相差太遠,這是因為當一個應用程序正在寫入一個大的文件時,linux 操作系統允許rm 和mv ,應用程序會占有句柄,并根據句柄所指磁盤位置直接寫磁盤,而不會檢查該文件是否被刪除。
有關命令lsof
下面這個命令可以刪除從硬盤中刪除掉的文件,但還沒有從進程中釋放出來的空間。
for i in `lsof |grep file_20090828*.log |awk '{ print $2 }'` ; do kill -9 $i ;done
總結
以上是生活随笔為你收集整理的linux 常用参数,Linux 常用命令及参数整理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ue4玻璃材质_UE4-材质
- 下一篇: 数字类 default 0和 defau