第二周作業

Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關實例演示

理論上,linux一切皆文件,對于linux的管理命令均算是文件管理命令。

Linux文件類型常見的有:常規文件、目錄文件、塊設備文件、字符設備文件、符號鏈接文件、命名管道、套接字文件等。

-:常規文件

[root@iZ25c28fe7fZ ~]# ls -lh checkmount.sh?-rwxr-x,r-x 1 root root 304 Jun ?5 ?2016 checkmount.sh

類似于這種以-開頭的就是常規文件

d:directory,目錄文件

[root@xlgoo /]# ls -lhdrwxr-xr-x ? ?9 root root 4.0K Jun 17 21:54 alidata

類似于這種以d開頭的就是目錄文件

b:block device,塊設備文件,支持以block為單位進行隨機訪問

[root@xlgoo dev]# ll /dev/loop1brw-rw—- 1 root disk 7, 1 Aug 30 16:39 /dev/loop1

類似于這種以b開頭的就是塊設備文件。比如硬盤、光驅等設備

c:character device,字符設備文件,支持以character為單位進行線性訪問

[root@xlgoo /]# ls -la /dev/ttycrw-rw-rw- 1 root tty 5, 0 Sep 18 17:00 /dev/tty

類似于這種以c開頭的就是字符設備文件。比如貓等串口設備

設備文件包含以下兩種設備號

Major number:主設備號,用于標識設備類型,進而確定要加載的驅動程序

Minor number:次設備號,用于標識同一類型中的不同設備

L:symblock link,符號鏈接文件

[root@xlgoo /]# ls -la /dev

lrwxrwxrwx 1 root root ? ? ? ? ?15 Aug 30 16:39 stderr -> /proc/self/fd/2

類似于這種以l開頭的就是符號鏈接文件,是通過ln -s 源文件名 新文件名產生的

P:pipe,命名管道

S:socker,套接字文件

[root@xlgoo /]# ls -lh /var/lib/mysql/mysql.sock

srwxrwxrwx 1 mysql mysql 304 Jun ?5 ?2016 /var/lib/mysql/mysql.sock

類似于這種以s開頭的就是套接字文件

了解了命令類型以后,開始說linux的文件管理類命令

pwd:printing working directory

顯示工作目錄

cd:change directory

cd [/PATH/TO/SOMEDIR]

cd:切換回家目錄

注意:bash中,~表示家目錄

cd ~:切換回自己的家目錄

cd ~USERNAME:切換至指定目錄的家目錄

cd -:在上一次所在目錄與當前目錄之間來回切換

PWD:當前工作目錄

OLDPWD:上一次的工作目錄

ls:list,列出指定目錄下的內容

ls [OPTION]… [FILE]… -a:顯示所有文件,包括隱藏文件

-A:顯示除 . ..以外的所有文件

-l:–long,長格式列表,即顯示文件的詳細屬性信息

-rw-r–r– 1 root root 1671

-:文件類型, -,d,b,c,l,s,p

rw-r–r–

rw-:文件屬主的權限

r–:文件屬組的權限

r–:其他用戶(非屬主、非屬組)的權限

1:數字表示文件被硬鏈接的次數

root:文件的屬主

root:文件的屬組 1

671:數字表示文件的大小,單位是字節

Mar 22 19:25:文件最近一次的被修改的時間

AliAqsInstall_64.sh:文件名

-h –human-readable:對文件大小單位換算,換算后的結果可能非精確值

-d:查看目錄自身而非其內部的文件列表

-r:reverse,逆序顯示

-R:recursive,遞歸顯示

cp命令:copy

源文件:目標文件
單源復制:cp [OPTION]… [-T] SOURCE DEST

多源復制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

單源復制:cp [OPTION]…[-T] SOURCE DEST

如果DEST不存在,則事先創建此文件,并復制源文件的數據流至DEST中

如果DEST存在:

如果DEST是非目錄文件:則覆蓋目標文件

如果DEST是目錄文件,則先在DEST目錄下創建一個與源文件同名的文件,并復制其數據流

多源復制:cp [OPTION]… SOURCE… DIRECTORY

cp [OPTION]… -t DIRECTORY SOURCE…

如果DEST不存在,錯誤

如果DEST存在:

如果DEST是非目錄文件:錯誤

如果DEST是目錄文件,分別復制每個文件至目標目錄中,并保持原名

常用選項:

-i:交互式復制,即覆蓋之前提示用戶確認

-f:強制覆蓋目標文件

-r(-R ):遞歸復制目錄

-d:復制符號鏈接文件本身,而非其指向的源文件

-a:-dR –preserve=all,archive,用于實現歸檔

–preserv

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號鏈接

all:上述所有屬性

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE…
常用選項:

-i:交互式

-f:force

rm命令:remove

rm – remove files or directories

常用選項:

-i:interactive

-f:force

-r:recursive
刪除目錄:rm -rf /PATH/TO/DIR

危險操作:rm -rf /

注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄(模擬回收站)

chmod命令

chmod [OPTION]… MODE[,MODE]… FILE…

chmod [OPTION]… OCTAL-MODE FILE…

chmod [OPTION]… –reference=RFILE FILE…

三類用戶:

u:屬主

g:屬組

o:其他

a:所有

(1)chmod [OPTION]… MODE[,MODE]… FILE…

MODE表示法:

賦權表示法:直接操作一類用戶的所有權限位

授權表示法:直接操作一類用戶的一個權限位

(2)chmod [OPTION]… OCTAL-MODE FILE…

(3)chmod [OPTION]… –reference=RFILE FILE…

選項:

-R –recursive:遞歸修改

注意:用戶僅能修改屬主為自己的那些文件權限

chown命令:

chown [OPTION]… [OWNER][:[GROUP]] FILE…

chown [OPTION]… –reference=RFILE FILE…
選項:? ? ? ? ? ? ? ? ? ? ? ?-R:遞歸修改

chgrp命令:

chgrp [OPTION]… GROUP FILE…

chgrp [OPTION]… –reference=RFILE FILE…
注意:僅管理員可修改文件的屬主和屬組

umask:文件的權限反向掩碼,遮罩碼

文件:

666-umask

目錄:

777-umask

注意:之所以文件用666去減,表示文件默認不能擁有執行權限.如果減得的結果中有執行權限,則+1

umask:023

666-023=644

777-023=754

umask命令:

umask:查看當前umask

umask MASK:設置umask

install命令

install – copy files and set attributes
單源復制:? ? ? ? ? ? install [OPTION]… [-T] SOURCE DEST

多源復制:

install [OPTION]… SOURCE… DIRECTORY

install [OPTION]… -t DIRECTORY SOURCE…

創建目錄:

install [OPTION]… -d DIRECTORY…
常用選項:

-m –mode=MODE:設定目標文件權限,默認為755

-o –owner=OWNER:設定目標文件屬主

-g –group=GROUP:設定目標文件屬組

mktemp命令:

mktemp – create a temporary file or directory

mktemp [option]… [TEMPLATE]

選項:

-d:創建臨時目錄

 

 

Bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其實例演示

當命令或程序執行后一般會有兩類結果

1)命令執行狀態返回值

命令或程序的返回值

舉例:輸出echo “hello wyh”,查看輸出結果

[root@xlgoo ~]# echo “hello wyh”

hello wyh

命令或程序的執行狀態結果(成功或失?。?,可通過bash的特殊變量$?查看

成功時返回:0

舉例:創建一個文件夾wyh,查看執行狀態

[root@xlgoo ~]# mkdir wyh;echo $?

0

錯誤時返回:1-255

舉例:再次創建一個文件夾wyh,查看執行狀態

[root@xlgoo ~]# mkdir wyh;echo $?

mkdir: cannot create directory `wyh’: File exists

1

2)命令行展開

~:展開為用戶的家目錄

舉例:

[root@xlgoo ~]# cd ~

[root@xlgoo ~]# pwd

/root

{}:展開為多個路徑

舉例:

[root@xlgoo ~]# mkdir -p /tmp/wyh/wyh{1,2,3}

[root@xlgoo ~]# ls /tmp/wyh/

wyh1 ?wyh2 ?wyh3

3、請使用命令行展開功能來完成以下練習:

(1)、創建/tmp目錄下的:a_c, a_d, b_c, b_d

[root@xlgoo /]# mkdir -pv {a,b}_{c,d}

mkdir: created directory `a_c’

mkdir: created directory `a_d’

mkdir: created directory `b_c’

mkdir: created directory `b_d’

 

(2)創建/tmp/mylinux目錄下的:

mylinux/ mylinux/├── bin├── boot│ ? └── grub├── dev├── etc│ ? ├── rc.d│ ? │ ? └── init.d│ ? └── sysconfig│ ? ? ? └── network-scripts├── lib│ ? └── modules├── lib64├── proc├── sbin├── sys├── tmp├── usr│ ? └── local│ ? ? ? ├── bin│ ? ? ? └── sbin└── var? ? ├── lock? ? ├── log? ? └── run

[root@xlgoo /]# mkdir -pv /tmp/mylinux/{bin,boot/grub,dev,etc/{rc.d/init.d,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}

4.文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息

文件包含兩類數據,一類叫做元數據(metadata),一類叫做數據(data)。簡單的說,數據就是文件的實際數據,而元數據就是’data about data’,關于數據的數據,它是一種結構化的數據。一般是從文件中抽取出來,用來說明文件的特征、內容等一般可用命令stat來查看文件的元數據

stat

語法:stat(選項)(參數)

選項:

-L:支持符號連接;

-f:顯示文件系統狀態而非文件狀態;

-t:以簡潔方式輸出信息;

–help:顯示指令的幫助信息;

–version:顯示指令的版本信息

參數:

文件:指定要顯示信息的普通文件或者文件系統對應的設備文件名

舉例:

File(文件名): `mylinux/’

Size(大?。? 4096 ? ? ? Blocks(文件塊數): 8 ? ? ? ? ?IO Block(IO塊大?。? 4096 ? directoryDevice(設備號): fc00h/64512d Inode(索引節點): 145940 ? ? ?Links(鏈接次數): 14

Access: (0755/drwxr-xr-x) ?Uid: ( ? ?0/ ? ?root) ? Gid: ( ? ?0/ ? ?root)

Access: 2017-09-24 16:29:10.444469896 +0800(最近訪問的時間)

Modify: 2017-09-24 16:28:44.178469896 +0800(最近改變數據的時間)

Change: 2017-09-24 16:28:44.178469896 +0800(最近改變元數據的時間)

至于修改時間戳,一般使用touch命令

touch – change file timestamps

touch [OPTION]… FILE…

-c:指定的文件路徑不存在時不予創建

-a:僅修改access time

-m:僅修改modify time

-t:STAMP

[[CC]YY]MMDDhhmm[.ss]

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87565

(1)
n27_wyhn27_wyh
上一篇 2017-09-25 14:25
下一篇 2017-09-27

相關推薦

  • LVS介紹

    LVS介紹     LVS是linux virtual server的簡寫,是服務器集群的一種負載均衡解決方案,作為netfilter的補充套件,工作于內核空間。     常見的術語 CIP:客戶端ip地址 RIP:后端服務器ip地址 VIP:lvs面向客戶端的ip地址 DIP:lvs面向…

    Linux干貨 2017-08-04
  • 18-系統啟動故障修復-實踐

    說明:重啟時可以選擇性在vmlinuz所在行末尾添加 selinux=0;或者直接編輯/etc/selinus/config文件,更改 SELINUX=disabled 關閉SELINUX??梢员苊獯驑撕?,節省啟動時間 以下操作都需要進入bootloader引導加載項修改內核啟動參數,在vmlinuz所在行末尾添加一個啟動選項 如何進入bootloader引…

    2017-04-02
  • sed使用詳解

    vim  ,sed 1.首先,sed作為一個流編譯器,它是對文本進行處理的,它和grep雖然都是對文本進行處理的,但是sed的處理機制和grep還是有很大的不同的,grep:文本過濾(模式:pattern)工具;grep, egrep, fgrep(不支持正則表達式搜索)sed:stream editor,文本編輯工具;awk:Linux上的實現g…

    Linux干貨 2016-08-11
  • 2016.08.04學習筆記

    文本管理工具     1.cat:查看文件,讀取鍵盤輸入         -A:查看文件所有信息         -n:顯示行數   &nb…

    Linux干貨 2016-08-08
  • Linux學習 Grep詳則。

    grep 功能說明:查找文件里符合條件的字符串。 語  法:grep [-abcEFGhHilLnqrsvVwxy][-A<顯示列數>][-B<顯示列數>][-C<顯示列數>][-d<進行動作>][-e<范本樣式>][-f<范本文件>][–help][范本樣式][文件或目錄&…

    Linux干貨 2017-07-24
  • sed命令用法詳解

    1.sed運行原理         sed(stream editor)是一個行處理器。處理時,把當前處理的行放到“模式空間中”,處理完畢后,把該行輸出到屏幕,接著處理下一行;這樣不斷重復,直到末行;此時文件本身內容并沒有改變 2.sed用途    …

    Linux干貨 2016-08-15
欧美性久久久久