第二周作業

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

which命令:顯示(shell)命令全部的路徑

which [option] programmame […]

–skip-alias:忽略別名

 

whereis命令:搜索二進制程序,源碼,和幫助手冊頁的命令

whereis [option] name

-b:僅搜索二進制程序路徑

[root@localhost ~]# whereis -b fdisk

fdisk: /usr/sbin/fdisk

-m:僅搜索使用手冊文件路徑

[root@localhost ~]# whereis -m fdisk

fdisk: /usr/share/man/man8/fdisk.8.gz

 

文件查看類命令:cat,tac,head,tail,more,less

cat命令:從文件頭部開始查看文件。

tac命令:與cat查看文件相反,從文件尾部開始查看文件

more命令:more FILE;

特點:翻屏至文件尾部時后自動退出

less命令:less FILE;

man命令就是用Less命令來顯示幫助文檔的。

head命令:查看文件的前N行

head [options] FILE 

-n # #顯示頭多少行。

-#

tail命令:查看文件的后n行;

tail [option] FILE

-n #

-#

-f:查看文件尾部內容結束后不退出,跟隨顯示新增的行;

[root@localhost ~]# tail -f issue

\S

Kernel \r on an \m

[root@localhost ~]# echo “how are you” >> issue

[root@localhost ~]# tail -f issue

\S

Kernel \r on an \m

how are you

 

文件管理工具:cp, mv, rm

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:交互式復制,即覆蓋之前提醒用戶確認;

[root@localhost tmp]# cp /etc/issue ./

cp:是否覆蓋”./issue”?

-f:強制覆蓋目標文件;

-r,-R:遞歸復制;

[root@localhost tmp]# cp -r /var/log ./

[root@localhost tmp]# ll -d log

drwxr-xr-x. 19 root root 4096 2月  18 09:56 log

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

[root@localhost tmp]# cp -d /proc/mounts ./

[root@localhost tmp]# ll mounts

lrwxrwxrwx. 1 root root 11 2月  18 10:03 mounts -> self/mounts

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

–preserve=

mode:權限

ownership:屬主和屬組

timestamps:時間戳

context:安全標簽

xattr:擴展屬性

links:符號連接

all:上述所有屬性

[root@localhost tmp]# cp –preserve=mode,ownership /home/binbin/binbin.txt ./

[root@localhost tmp]# ll binbin.txt

-rw-rw-r–. 1 binbin binbin 0 2月  18 10:18 binbin.txt

演示多源復制,并強制覆蓋重復的目錄

[root@localhost tmp]# cp -rf -t /tmp /etc/grub.d /var/log

[root@localhost tmp]# ll

總用量 4

drwx——.  2 root root  182 2月  18 10:24 grub.d

drwxr-xr-x. 19 root root 4096 2月  18 10:24 log

 

mv命令:move

mv [OPTION]… [-T] SOURCE DEST

mv [OPTION]… SOURCE… DIRECTORY

mv [OPTION]… -t DIRECTORY SOURCE..

   常用選項:

i:交互式;

-f:force

tmp目錄下的grub.d目錄和log目錄,移到至/tmp/test目錄

[root@localhost tmp]# mv grub.d/ log/ test

[root@localhost tmp]# ll -h test/

總用量 4.0K

drwx——.  2 root root  182 2月  18 10:24 grub.d

drwxr-xr-x. 19 root root 4.0K 2月  18 10:24 log

mv命令還可以用來重命名

[root@localhost tmp]# mv test bin

[root@localhost tmp]# ll -h

總用量 0

drwxr-xr-x. 4 root root 31 2月  18 10:31 bin

 

 rm命令:remove

rm [OPTION]… FILE…

常用選項:

-i:interactive #交互式刪除

-f:force #強制刪除

-r: recursive #遞歸刪除

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

危險操作:rm -rf /*

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

[root@localhost tmp]# rm -rf ./*

[root@localhost tmp]# ll

總用量 0

 

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

命令執行的狀態結果:

bash通過狀態返回值來輸出此結果

成功:0

失?。?/span>1-255

命令執行完成之后,其狀態返回值保存于bash的特殊變量$?中;

命令正常執行時,有的還回有命令返回值:

根據命令及其功能不同,結果各不相同;

正確查到文件信息返回值

[root@localhost /]# ll /etc/passwd

-rw-r–r–. 1 root root 2238 2月  12 15:15 /etc/passwd

[root@localhost /]# echo $?

0

 

錯誤查看文件信息返回值

[root@localhost /]# lll /etc/passwd &>> /dev/null

[root@localhost /]# echo $?

127

 

命令展開引用

[root@localhost tmp]# mkdir $(date +%Y-%m-%d-%H-%M-%S)

[root@localhost tmp]# ll

總用量 0

drwxr-xr-x.  2 root root   6 2月  18 17:30 2017-02-18-17-30-20

 

 

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

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

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

mkdir: 已創建目錄 “a_c”

mkdir: 已創建目錄 “a_d”

mkdir: 已創建目錄 “b_c”

mkdir: 已創建目錄 “b_d”

 

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

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

[root@localhost /]# tree /tmp/mylinux

/tmp/mylinux

├── bin

├── boot

│   └── grub

├── dev

├── etc

│   ├── rc.d

│   │   └── init.d

│   └── syscofig

│       └── network-scripts

├── lib

│   └── modules

├── lib64

├── proc

├── sbin

├── sys

├── tmp

├── usr

│   └── local

│       ├── bin

│       └── sbin

└── var

    ├── lock

    ├── log

    └── run

 

24 directories, 0 files

 

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

元數據信息包含:

File:文件名

Size:表示文件數據流大小

Blocks:數據塊、

IO Block:IO塊

硬鏈接數:

Access:用戶對文件訪問的權限

Uid:屬主

Gid:屬組

Access time:訪問文件時間

Modify time:更改時間

Change time:改動時間

 

查看文件元數據:

命令:stat FILE

[root@localhost tmp]# stat 2017-02-18-17-30-20/

  File: ‘2017-02-18-17-30-20/’

  Size: 6          Blocks: 0          IO Block: 4096   directory

Device: 803h/2051d Inode: 33793360    Links: 2

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

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2017-02-18 17:30:20.848935695 +0800

Modify: 2017-02-18 17:30:20.848935695 +0800

Change: 2017-02-18 17:30:20.848935695 +0800

 Birth: –

修改文件的時間戳信息

[root@localhost tmp]# touch -a -t 201602181730 time #修改訪問時間

[root@localhost tmp]# touch -m -t 201602181730 time #修改更改時間

[root@localhost tmp]# stat time

  File: ‘time’

  Size: 0          Blocks: 0          IO Block: 4096   regular empty file

Device: 803h/2051d Inode: 33793361    Links: 1

Access: (0644/-rw-r–r–)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:user_tmp_t:s0

Access: 2016-02-18 17:30:00.000000000 +0800

Modify: 2016-02-18 17:30:00.000000000 +0800

Change: 2017-02-18 17:56:02.771576109 +0800

 Birth:

 

如何定義一個命令的別名,如何在命令中引用另一個命令的執行結果?

alias命令定義一個cls=clear

[binbin@localhost tmp]$ alias cls=clear

 

命令中引用另一個命令的執行結果

[root@localhost /]# cat /etc/issue | tee /tmp/issue.tee | tr ‘a-z’ ‘A-Z’

\S

KERNEL \R ON AN \M

[root@localhost /]# ll /tmp/issue.tee

-rw-r–r–. 1 root root 23 Feb 18 18:12 /tmp/issue.tee

 

顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄。

[root@localhost var]# ls -d l*[0-9]*[a-z] ./

./  l2-tp  l2tp

 

顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄。

[root@localhost etc]# ls -d [0-9]*[^0-9] ./

 

顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄。

[root@localhost etc]# ls -d [^[:alpha:]][[:alpha:]]* ./

./  2xyz

/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如: tfile-2016-05-27-09-32-22。

touch file-$(date +%Y-%m-%d-%H-%M-%S)

[root@localhost tmp]# ll file-2017-02-18-20-57-32

-rw-r–r–. 1 root root 0 Feb 18 20:57 file-2017-02-18-20-57-32

 

復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中。

[root@localhost tmp]# cp -r /etc/p*[^0-9] ./mytest1/

[root@localhost tmp]# ll ./mytest1/

total 48

drwxr-xr-x. 2 root root 4096 Feb 18 21:01 pam.d

-rw-r–r–. 1 root root 2238 Feb 18 21:01 passwd

-rw-r–r–. 1 root root 2238 Feb 18 21:01 passwd-

-rw-r–r–. 1 root root 1362 Feb 18 21:01 pbm2ppa.conf

-rw-r–r–. 1 root root 2872 Feb 18 21:01 pinforc

drwxr-xr-x. 9 root root   98 Feb 18 21:01 pki

drwxr-xr-x. 2 root root   28 Feb 18 21:01 plymouth

drwxr-xr-x. 5 root root   52 Feb 18 21:01 pm

-rw-r–r–. 1 root root 6300 Feb 18 21:01 pnm2ppa.conf

drwxr-xr-x. 2 root root    6 Feb 18 21:01 popt.d

drwxr-xr-x. 2 root root  154 Feb 18 21:01 postfix

drwxr-xr-x. 3 root root  219 Feb 18 21:01 ppp

drwxr-xr-x. 2 root root  105 Feb 18 21:01 prelink.conf.d

-rw-r–r–. 1 root root  233 Feb 18 21:01 printcap

-rw-r–r–. 1 root root 1795 Feb 18 21:01 profile

drwxr-xr-x. 2 root root 4096 Feb 18 21:01 profile.d

-rw-r–r–. 1 root root 6545 Feb 18 21:01 protocols

drwxr-xr-x. 2 root root   79 Feb 18 21:01 pulse

drwxr-xr-x. 2 root root   23 Feb 18 21:01 purple

drwxr-xr-x. 2 root root   35 Feb 18 21:01 python

 

十一復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中。

[root@localhost tmp]# cp -rf /etc/*.d mytest2/

[root@localhost tmp]# ll mytest2

total 20

drwxr-xr-x.  2 root root    6 Feb 18 21:03 auto.master.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 bash_completion.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 binfmt.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 cgconfig.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 chkconfig.d

drwxr-xr-x.  2 root root   54 Feb 18 21:03 cron.d

drwxr-xr-x.  2 root root   23 Feb 18 21:03 depmod.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 dnsmasq.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 dracut.conf.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 exports.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 gdbinit.d

drwx——.  2 root root  182 Feb 18 21:03 grub.d

lrwxrwxrwx.  1 root root   11 Feb 18 21:03 init.d -> rc.d/init.d

drwx——.  3 root root   50 Feb 18 21:03 ipsec.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 krb5.conf.d

drwxr-xr-x.  2 root root  129 Feb 18 21:03 ld.so.conf.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 libibverbs.d

drwxr-xr-x.  2 root root  215 Feb 18 21:03 logrotate.d

drwxr-xr-x.  2 root root   59 Feb 18 21:03 modprobe.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 modules-load.d

drwxr-xr-x.  2 root root   31 Feb 18 21:03 my.cnf.d

drwxr-xr-x.  2 root root   70 Feb 18 21:03 oddjobd.conf.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 pam.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 popt.d

drwxr-xr-x.  2 root root  105 Feb 18 21:03 prelink.conf.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 profile.d

drwxr-xr-x. 10 root root  127 Feb 18 21:03 rc.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc0.d -> rc.d/rc0.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc1.d -> rc.d/rc1.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc2.d -> rc.d/rc2.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc3.d -> rc.d/rc3.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc4.d -> rc.d/rc4.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc5.d -> rc.d/rc5.d

lrwxrwxrwx.  1 root root   10 Feb 18 21:03 rc6.d -> rc.d/rc6.d

drwxr-xr-x.  2 root root   77 Feb 18 21:03 request-key.d

drwxr-xr-x.  2 root root   25 Feb 18 21:03 rsyslog.d

drwxr-xr-x.  2 root root   35 Feb 18 21:03 rwtab.d

drwxr-xr-x.  3 root root 4096 Feb 18 21:03 sane.d

drwxr-xr-x.  2 root root 4096 Feb 18 21:03 setuptool.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 statetab.d

drwxr-x—.  2 root root    6 Feb 18 21:03 sudoers.d

drwxr-xr-x.  2 root root   28 Feb 18 21:03 sysctl.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 tmpfiles.d

drwxr-xr-x.  2 root root    6 Feb 18 21:03 xinetd.d

drwxr-xr-x.  2 root root  187 Feb 18 21:03 yum.repos.d

 

十二復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中。

[root@localhost tmp]# cp -rf /etc/{l,m,n}*.conf mytest3

[root@localhost tmp]# ll mytest3

total 52

-rw-r–r–. 1 root root   28 Feb 18 21:08 ld.so.conf

-rw-r—–. 1 root root  191 Feb 18 21:08 libaudit.conf

-rw-r–r–. 1 root root 2391 Feb 18 21:08 libuser.conf

-rw-r–r–. 1 root root   19 Feb 18 21:08 locale.conf

-rw-r–r–. 1 root root  662 Feb 18 21:08 logrotate.conf

-rw-r–r–. 1 root root 5171 Feb 18 21:08 man_db.conf

-rw-r–r–. 1 root root  936 Feb 18 21:08 mke2fs.conf

-rw-r–r–. 1 root root 2620 Feb 18 21:08 mtools.conf

-rw-r–r–. 1 root root 3390 Feb 18 21:08 nfsmount.conf

-rw-r–r–. 1 root root 1732 Feb 18 21:08 nsswitch.conf

-rw-r–r–. 1 root root 2000 Feb 18 21:08 ntp.conf

-rw-r–r–. 1 root root   91 Feb 18 21:08 numad.conf

原創文章,作者:anhui-binbin,如若轉載,請注明出處:http://www.www58058.com/69348

(0)
anhui-binbinanhui-binbin
上一篇 2017-02-18
下一篇 2017-02-18

相關推薦

  • 運維工程師技能需求排行

    這是我今天在拉勾網搜索運維,翻完了4四頁也招聘信息之后得到的,我的目的是想要看看之后的學習,哪個更應該成為重點,有些在我意料之中,有些還真的沒想到,算是努力了一個小時的收獲吧,分享給大家。
    注意:其中的看法僅代表個人觀點,很多都是依靠我自己的學習經驗和工作經驗累積的

    Linux干貨 2017-12-12
  • 馬哥linux0803作業內容

    1. 創建sysadmins組 將用戶user1,user2,user3加入sysadmins組中 將user3設置為sysadmins的管理員 用user3登錄,將user2從組中移除 設置sysadmins的密碼centos 設置user1 在創建新文件時,文件的所屬組為sysadmins 刪除user1…3 刪除sysadmins 2、三種權限rwx對…

    Linux干貨 2016-08-04
  • Linux文本搜索工具grep

    Linux文本搜索工具grep Linux文本搜索工具grep grep 基本正則表達式 egrep 擴展正則表達式 fgrep 簡介 grep(全稱Globally search a Regular Expression and Print,全面搜索正則表達式并把行打印出來)是一種強大的文本搜索工具,根據用戶指定的“模式(pattern)”對目標文本進行匹…

    2016-04-05
  • ACL權限詳解

    1.ACL簡介 2.前期準備 3.ACL的基本操作:添加和修改 4.ACL的其他功能:刪除和覆蓋 5.目錄的默認ACL 6.備份和恢復ACL 7.結束語 1.ACL簡介 用戶權限管理始終是Linux系統管理中最重要的環節。大家對Linux/Unix的UGO權限管理方式一定不陌生,還有最常用的chmod命令。為了實現一些比較復雜的權限管理,往往不得不創建很多的…

    Linux干貨 2017-03-11
  • 簡述計算機網絡數據鏈路層

    數據鏈路層    數據鏈路層是什么?      數據鏈路層工作在七層網絡模型的第二層,它定義了在單個鏈路上如何傳輸數據。 數據鏈路層:是為了提供功能上和規程上的方法,以便建立、維護和釋放網絡實體間的數據鏈路 。 物理鏈路(物理線路):是由傳輸介質與設備組成的。原始的物理傳輸線路是指沒有采用高層差錯控…

    Linux干貨 2017-05-15
  • 第八周網絡基礎以及腳本聯系

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 ![](http://i.imgur.com/5u2IMF8.png) 三層交換機:將路由技術和交換技術合二為一的技術,當對第一次數據流進行路由后,會產生一個MAC地址與IP地址相對應的映射表,當同樣的數據流再次通過時,將根據映射表進行數據交換而不在進行路由。 路由器:工作于網絡…

    Linux干貨 2017-03-30

評論列表(1條)

  • 馬哥教育
    馬哥教育 2017-02-26 15:30

    雖然字體小了點,看我的眼疼,但是看得出有在很認真的完成,很棒。

欧美性久久久久