1. 程式人生 > >Linux學習02--Linux一切皆檔案

Linux學習02--Linux一切皆檔案

Linux學習第二部

Linux一切皆物件

啊啊啊啊啊,今天被學妹說太直了,嚶嚶嚶。

 

學習linux兩三天了,前期感覺並不難,只是命令多,多記記多敲一敲就能都記住了。希望自己能夠堅持下去吧!

下面是根據第二次學的做的一些筆記。

一、 系統狀態檢測命令

 

1-1 ifconfig  

檢視網絡卡網路資訊

ifconfig

1-2 uname

檢視系統核心資訊

uname -a

1-3 uptime

檢視系統負載

uptime

  

1-4 free

檢視記憶體狀態

free -h

1-5 who

檢視終端使用資訊

who

1-6 last

檢視歷史登入資訊

last

1-7 history

檢視歷史命令,可直接'!命令序號'執行命令

[[email protected] /]# history

1 exit
2 ifconfig
3 uname
4 uname -a
5 clear
6 upitme
7 uptime
8 free
9 free -h
10 who
11 last
12 history

[[email protected] /]# !7
uptime
23:24:28 up 1 day, 6:17, 4 users, load average: 0.00, 0.01, 0.06

1-8 sosreport

救援診斷

 

二、 工作目錄切換命令

2-1 pwd

檢視當前工作目錄

[[email protected] /]# pwd
/
[[email protected] /]#   

 

2-2 cd

切換目錄,一般格式為 

cd [目錄]

cd 常用方式

cd - 回到上一次所處的目錄
cd .. 返回上一級目錄
cd ~ 切換到家目錄
cd ~username 切換到其他使用者家目錄

 

 

 

 

 

2-3 ls

檢視當前目錄檔案資訊

ls -a 檢視全部檔案(包括隱藏檔案)
ls -l  檢視檔案詳細資訊

兩個引數可以一起

[[email protected] /]# ls -al
total 40
drwxr-xr-x.  17 root root 4096 Nov 11 03:31 .
drwxr-xr-x.  17 root root 4096 Nov 11 03:31 ..
lrwxrwxrwx.   1 root root    7 Nov 10 22:47 bin -> usr/bin
dr-xr-xr-x.   3 root root 4096 Nov 10 19:32 boot
drwxr-xr-x.  19 root root 3160 Nov 10 19:32 dev
drwxr-xr-x. 132 root root 8192 Nov 10 20:47 etc
drwxr-xr-x.   3 root root   18 Nov 10 15:52 home
lrwxrwxrwx.   1 root root    7 Nov 10 22:47 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 Nov 10 22:47 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 Mar 13  2014 media
drwxr-xr-x.   2 root root    6 Mar 13  2014 mnt
drwxr-xr-x.   3 root root   15 Nov 10 22:55 opt
dr-xr-xr-x. 509 root root    0 Nov 11 03:31 proc
dr-xr-x---.   7 root root 4096 Nov 12 22:56 root
drwxr-xr-x.  38 root root 1220 Nov 12 22:18 run
lrwxrwxrwx.   1 root root    8 Nov 10 22:47 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 Mar 13  2014 srv
dr-xr-xr-x.  13 root root    0 Nov 11 03:31 sys
drwxrwxrwt.  15 root root 4096 Nov 12 22:57 tmp
drwxr-xr-x.  13 root root 4096 Nov 10 22:47 usr
drwxr-xr-x.  22 root root 4096 Nov 11 03:31 var

檢視目錄屬性:

[[email protected] /]# ls -ld /root/
dr-xr-x---. 7 root root 4096 Nov 12 22:56 /root/

 

三、 文字檔案編輯命令

3-1 cat

檢視純文字檔案(內容較少)。

[[email protected] ~]# cat gill
hello world

3-2 more

檢視純文字檔案(內容較多)。

空格或回車翻頁。

3-3 head

 head -n N 檔名 檢視純文字檔案的前N行

[[email protected] ~]# head -h 5 anaconda-ks.cfg
head: invalid option -- 'h'
Try 'head --help' for more information.
[[email protected] ~]# head -n 5 anaconda-ks.cfg
#version=RHEL7
# System authorization information
auth --enableshadow --passalgo=sha512

# Use CDROM installation media

3-4 tail

 tail -n N 檔名 檢視檔案的後20行

 tail -f 檔名 持續重新整理一個檔案的內容

如 檢視系統最新日誌檔案:

[[email protected] ~]# tail -f /var/log/messages
Nov 12 23:29:52 linuxprobe dbus-daemon: dbus[1072]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Nov 12 23:29:52 linuxprobe dbus[1072]: [system] Activating via systemd: service name='org.freedesktop.nm_dispatcher' unit='dbus-org.freedesktop.nm-dispatcher.service'
Nov 12 23:29:52 linuxprobe systemd: Starting Network Manager Script Dispatcher Service...
Nov 12 23:29:52 linuxprobe dbus-daemon: dbus[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 12 23:29:52 linuxprobe dbus[1072]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 12 23:29:52 linuxprobe systemd: Started Network Manager Script Dispatcher Service.
Nov 12 23:30:01 linuxprobe systemd: Starting Session 223 of user root.
Nov 12 23:30:01 linuxprobe systemd: Started Session 223 of user root.
Nov 12 23:40:01 linuxprobe systemd: Starting Session 224 of user root.
Nov 12 23:40:01 linuxprobe systemd: Started Session 224 of user root.

 

3-5 tr

替換文字檔案中的字元

tr [原始字元] [目標字元]

3-6 wc

用於統計指定文字的行數,字數,位元組數

wc -l xxx   檢視xxx檔案的行數
wc -w xxx   檢視xxx檔案的字數
wc -c xxx   檢視xxx檔案的位元組數

 

3-7 stat

檢視檔案資訊 stat 檔名 

[[email protected] ~]# stat gill
  File: ‘gill’
  Size: 12            Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 71467488    Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2018-11-12 22:24:48.549627819 +0800
Modify: 2018-11-12 22:24:27.268627407 +0800
Change: 2018-11-12 22:24:27.270627407 +0800
 Birth: -

 

其中有重要的三個屬性Access, Modify, Change,分別表示最後讀取時間,最後修改時間, 最後修改許可權時間。

 

3-8 cut

用於按“列”提取文字字元

cut -d 設定間隔符號
cut -f 設定需要看的列數

例如:檢視passwd中使用者的名字:

[[email protected] ~]# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
dbus
polkitd

 

3-9 diff

用於比較多個文字檔案的差異

diff --brief  確認兩個檔案是否不同
diff -c       詳細比較出多個檔案的差異之處

 

四、 檔案目錄管理工具

4-1 touch

建立檔案或設定檔案的時間

touch xxx   建立xxx空白檔案
touch -a 時間 xxx 修改xxx檔案的atime即在3-7中的Access屬性
touch -m 時間 xxx 修改xxx檔案的mtime即在3-7中的Modify屬性
touch -d 時間 xxx 同時修改xxx檔案的atime mtime

 

4-2 mkdir

建立空目錄。

如果要建立巢狀的目錄時需要加引數   -p。

4-3 cp

複製檔案或目錄。

複製目錄時需要加上引數 -r。

4-4 mv

剪下或重新命名檔案。

4-5 rm

刪除檔案或目錄。

刪除目錄加 -r.

-f 引數 強制刪除,會預設確認執行刪除操作。

4-6 dd

按照指定大小和個數的資料塊來複制檔案或轉換檔案。

引數有:

if 輸入檔案的名稱
of 輸出檔案的名稱
bs 資料塊的大小,預設以位元組為單位
count 設定資料塊的個數

 

 

 

 

 

4-7 file

檢視檔案的型別。file + 檔名。

五、 打包壓縮和搜尋命令

5-1 tar

主要的引數有-c壓縮,-x解壓,-z Gzip方式,-j bzip2方式,-v顯示壓縮或解壓的過程,-f 目標檔名

1.用Gzip方式壓縮或解壓

壓縮:tar -czvf xxx.tar.gz 目標目錄或檔案
解壓:tar -xzvf xxx.tar.gz

若想要解壓到指定目錄則需要加引數 -C,後面加指定目錄。

 

2.用bzip2方式壓縮或解壓

壓縮:tar -cjvf xxx.tar.bz2 目標目錄或檔案
解壓:tar -xjvf xxx.tar.bz2

若想要解壓到指定目錄則需要加引數 -C,後面加指定目錄。

 

5-2 grep

用於在文字中執行關鍵詞搜尋,並顯示匹配的結果。

grep 關鍵詞 檔案物件

兩個重要的引數:

-n 顯示行號
-v 反選資訊

 

5-3 find

按照指定條件查詢檔案。 find 路徑 匹配規則 

-name 按檔名稱
-perm 匹配許可權
-user 匹配所有者
-exec {} \; 進一步處理搜尋結果

 

 

呼,終於寫完了!!!

晚安