linux常用命令

partprobe:強制讓核心重新捉一次parttion table

man:查看幫助文檔

touch:新建文件

[root@localhost ~]# touch test.txt

[root@localhost ~]# ls

anaconda-ks.cfg  avira-rescue-system  Desktop  echo  install.log  install.log.syslog  test.txt


ls -l 以長格式顯示文件

[root@localhost ~]# ls -l

總計 120

-rw------- 1 root root  1279 10-21 15:30 anaconda-ks.cfg

-rw-r--r-- 1 root root 56686 10-31 17:07 avira-rescue-system

drwxr-xr-x 2 root root  4096 10-21 15:37 Desktop

-rw-r--r-- 1 root root    29 10-21 16:13 echo

-rw-r--r-- 1 root root 27974 10-21 15:30 install.log

-rw-r--r-- 1 root root  4379 10-21 15:29 install.log.syslog

-rw-r--r-- 1 root root     0 11-03 10:30 test.txt


ls -ld 以長格式顯示目錄

[root@localhost ~]# ls -ld

drwxr-x--- 16 root root 4096 11-03 10:30 .


ls -a 顯示包含的隱藏文件

[root@localhost ~]# ls -a

.                    .bash_profile  echo      .gnome2_private     .lesshst   test.txt

..                   .bashrc        .eggcups  .gstreamer-0.10     .metacity  .Trash

anaconda-ks.cfg      .chewing       .gconf    .gtkrc-1.2-gnome2   .nautilus  .viminfo

avira-rescue-system  .cshrc         .gconfd   .ICEauthority       .redhat

.bash_history        Desktop        .gnome    install.log         .scim

.bash_logout         .dmrc          .gnome2   install.log.syslog  .tcshrc

以點(.)開頭的爲隱藏文件


mkdir:創建目錄 make directory

-m 直接設置文件的權限

[root@localhost ~]# mkdir -m 711 test2

-p 遞歸建立目錄

[root@localhost ~]# mkdir /data

[root@localhost ~]# ls /

backup  boot  dev  home  lost+found  misc  net  proc  sbin     srv  tftpboot  usr

bin     data  etc  lib   media       mnt   opt  root  selinux  sys  tmp       var



cp:

-p 連同檔案的屬性一起復制

-d 若來源文件爲鏈接文件的屬性(link file),則複製鏈接文件屬性而非檔案本身

-r 遞歸持續複製,用於目錄的複製行爲

cp -a =cp -pdr  完整複製檔案權限

若想複製檔案給其他使用者,必須用到檔案的權限

-u 在目標檔案與來源檔案有差異時,纔會複製

拷貝test.txt文件到/tmp/目錄下

[root@localhost ~]# cp test.txt /tmp/

[root@localhost ~]# ls /tmp/

mapping-root  scim-panel-socket:0-root  test.txt


cp 

拷貝不出現提示的兩個方法:

\cp

/bin/cp

[root@localhost ~]# \cp /tmp/test.txt /mnt/test.txt

[root@localhost ~]# /bin/cp  /tmp/test.txt /mnt/test.txt


cd:切換目錄

cd . 切換到當前目錄

cd .. 切換到上級目錄

cd ~ 切換到用戶主目錄

cd ~ 用戶名 切換到指定用戶的目錄

cd - 返回進入此目錄之前所在的目錄

cd !$ 把上個命令的參數作爲cd的參數


rm:刪除文件

[root@localhost ~]# rm test.txt 

rm:是否刪除 一般文件 “test.txt”? y

若test.txt文件中有內容,則會出現提示

 

mv:移動文件

-f 強制覆蓋

-i 目標檔案存在,詢問是否覆蓋

-u 目標檔案存在,且source比較新,就更新

mv /data/test.txt /tmp/ 


echo:輸入什麼顯示什麼

[root@localhost ~]# echo ley

ley

[root@localhost ~]# echo jack

jack


echo {a..d}或者{1..3}

[root@localhost ~]# echo {1..3}

1 2 3

[root@localhost ~]# echo {a..d}

a b c d


pwd:顯示當前目錄

-P 顯示出確實的路徑,而非鏈接路徑

[root@localhost ~]# pwd

/root

[root@localhost ~]# cd /tmp/

[root@localhost tmp]# pwd

/tmp


cat:一次性輸出

-A 相當於-vET整合選項,可列出一些特殊字符而不是空白而已

-b 列出行號,空白行不標行號

-E 將結尾的斷行字符$顯示

-n 打印行號,空白行也有行號

-v 列出一些看不出來的特殊字符

[root@localhost ~]# cat ett.txt 

1

3

3

3

3

擴展:使用cat命令非交互編輯文件

[root@localhost ~]# cat >>test<<EOF

> i 

> am 

> you

> EOF

[root@localhost ~]# cat test 

am 

you


cut命令:匹配特定字段

cut[OPTION]...[FILE]

-d 指定分隔域

-f 匹配域/字段

-c 顯示字符

[root@localhost ~]# head -4 /etc/passwd|cut -c1-5

root:  -->共有5個字段

bin:x

daemo

adm:x


[root@localhost ~]# head -4 /etc/passwd|cut -c1,5

r:     -->第1和第5個字段

bx

do

ax


[root@localhost ~]# head -4 /etc/passwd|cut -d':' -f1,7

root:/bin/bash    --->指定分隔域爲分號(:),匹配第1個和第7個字段

bin:/sbin/nologin

daemon:/sbin/nologin

adm:/sbin/nologin



sort命令:對文本排序

sort [OPTION]...[FILE]

-r 反序

-n 大小

-k 指定排序列

-t 指定分隔符

-u

268K /etc/selinux/targeted/contexts/files

296K /etc/gconf

344K /etc/sysconfig

352K /etc/selinux/targeted/contexts

[root@localhost date]# du -h /etc/|sort -n



alias:定義別名

alias ley='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

[root@localhost ~]# alias ley='cat /etc/sysconfig/network-scripts/ifcfg-eth0'

直接輸入ley即可顯示網卡配置信息

[root@localhost ~]# ley

# Intel Corporation 82540EM Gigabit Ethernet Controller

DEVICE=eth0

BOOTPROTO=static

HWADDR=08:00:27:E7:8A:68

ONBOOT=yes

DHCP_HOSTNAME=localhost.localdomain

IPADDR=192.168.1.125

NETMASK=255.225.255.0


ulias:取消別名的定義

ulias ley


head:從行首開始顯示

head -5 /etc/passwd

顯示/etc/passwd文件前5行

[root@localhost ~]# head -5 /etc/passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin


tail:從行尾開始顯示

tail -5 /etc/passwd

顯示/etc/passwd文件後5行

[root@localhost ~]# tail -5 /etc/passwd

squid:x:23:23::/var/spool/squid:/sbin/nologin

xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin

gdm:x:42:42::/var/gdm:/sbin/nologin

sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin

ley:x:500:500:liangenyu:/home/ley:/bin/bash


tree:顯示樹結構

需安裝:yum install -y tree

[root@localhost ~]# yum install -y tree

[root@localhost ~]# tree

.

|-- Desktop

|-- anaconda-ks.cfg

|-- avira-rescue-system

|-- echo

|-- install.log

|-- install.log.syslog

`-- test.txt


1 directory, 6 files


rmdir:刪除空目錄

rmdir /data/

[root@localhost ~]# rmdir /data/


xargs:用於把find/ls等命令輸出交給後面處理

find / -type f(文件或者目錄d)  -name "test.txt"|xargs rm -f

[root@localhost ~]# find / -type f -name "test.txt"|xargs rm -f


find / -type f(文件或者目錄d)  -name "test.txt"|xargs cat(ls)

[root@localhost ~]# find / -type f -name "test.txt"|xargs cat

3


sed:取各種內容

-n 取消默認輸出 

-s 替換

g  全局

sed -n 2,3p ett.txt 取出ett.txt中的第2到第3行

[root@localhost ~]# cat ett.txt 

1

2

3

4

5

6

[root@localhost ~]# sed -n 2,3p ett.txt 

2

3


sed s/2/3/g ett.txt 在ett.txt中的2全局替換成3

[root@localhost ~]# cat ett.txt 

1

2

2

2

2

[root@localhost ~]# sed s/2/3/g ett.txt 

1

3

3

3

3


awk:比sed高級

awk /^o/ oldboy.txt  

取oldboy.txt中以o開頭的行

[root@localhost ~]# awk /^o/ test.txt 

oldbot


NR:行號

&&:並且

$0:打印整行

awk '{if(NR>1 && NR<4) print $0}' ett.txt

取出oldboy.txt文件中大於1並且小於4的行

[root@localhost ~]# awk '{if(NR>1 && NR<4) print $0}' test.txt 

2

3

grep:過濾命令

grep -Ei 過濾多個字符串(E)並且不區分大小寫(i)

[root@liangenyu ~]# echo A >>ett.txt

[root@liangenyu ~]# echo b >>ett.txt

[root@liangenyu ~]# echo C >>ett.txt

[root@liangenyu ~]# cat ett.txt 

A

b

C

[root@liangenyu ~]# grep -Ei "A|b" ett.txt 

A

b


grep -v 直接過濾 /etc/passwd 中含有root的文件

root /etc/passwd 

[root@localhost ~]# cat test.txt 

root

jack

tom

[root@localhost ~]# grep -v root test.txt 

jack

tom



vi:編輯器

vim:比vi高級的編輯器

seq:打印數字序列

[root@liangenyu ~]# seq 2

1

2


chkconfig 查看設置開機自動軟件的命令

[root@liangenyu ~]# chkconfig --list|grep "3:on"


find

-mitme n : n爲數字,意義爲在n天之前的被更改過的【內容數據】檔案

-mtime +n: 列出在n天之前(不含n天本身)被更改過的【內容數據】檔案

-ctime -n: 列出在n天之內(含n天本身)被更改過的【內容數據】檔案

-newer file: file爲一個存在的檔案,列出比file還要新的檔案


範例一:將過去系統上面24小時內有變動過的內容(mtime)列出

find / -mtime 0

0:代表目前的時間,從現在開始到24小時前

find / -mtime 3 三天前的24小時內變動過的檔案


範例二:尋找/etc底下的檔案,如果檔案日期比/etc/passwd新就列出

[root@localhost ~]# find /etc/ -newer /etc/passwd


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