馬哥教育網絡20期+第二周練習博客

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

ls

使用方式:ls [OPTION]… [DIR]…

常用選項:
-a:顯示所有檔案及目錄; 
-A:顯示除影藏文件“.”和“..”以外的所有文件列表;
-C:多列顯示輸出結果。這是默認選項; 
-l:與“-C”選項功能相反,所有輸出信息用單列格式輸出; 
-F:在每個輸出項后追加文件的類型標識符, 
-i:顯示文件索引節點號(inode)。
-k:以KB(千字節)為單位顯示文件大??;
-l:以長格式顯示目錄下的內容列表。
-s:顯示文件和目錄的大小,以區塊為單位;
-R:遞歸處理

stat:獲取文件的源數據

cat:查看文件

file:查看文件內容類型

echo:回顯命令

常用選項:
-n: 禁止自動添加換行符號;
-e: 允許使用轉義符;
    \n: 換行
    \t: 制表符

cp:復制

常用選項:
-i:交互式
-r, -R: 遞歸復制
-a: 歸檔,保留文件所有屬性
-f:強制

mv:移動

常用選項:
-i: 交互式
-f: 強制

rm:刪除

常用選項:
-i: 交互式
-f: 強制刪除
-r: 遞歸

install:復制

常用選項:
-m:指定目標文件權限
-o:指定目標文件屬主
-g:指定目標文件屬組
-d:創建空目錄

touch:創建空文件或修改時間戳

-a -t STAMP:訪問時間戳
-m -t STAMP:修改時間戳
-c:如果文件不存在就不創建

head:顯示文件前N行

常用選項:
-c #:獲取前#字節內容
-n #:獲取前#行內容

tail:顯示文件后N行

常用選項:
-c #:獲取后#字節內容
-n #:獲取后#行內容
-f:實時監測文件新增內容

wc:文件統計

常用選項:
-l:顯示文件行數
-w:顯示文件單詞數
-c:顯示文件字節數

sort:排序

常用選項:
-f:忽略字符大小寫
-r:逆序
-t DELIMITER -k #:以DELIMITER為分隔符,以第#個字段為標準排序
-n:以數值大小進行排序
-u:排序后去重

uniq:排序

常用選項:
-c:顯示每行重復出現的次數
-d:僅顯示重復過的行
-u:僅顯示不曾重復過的行

cut:切片

常用選項:
-d DELIMITER:指明字段分隔符
-f #:指明取第#個字段
--output-delimiter=:指明輸出字段分隔符

tr:替換

常用選項:
-d:刪除給出的字符集
-dc:字符集補集,將不在補集中的所有字符刪除

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

(1)命令執行狀態返回值

[root@study03 ~]# ls /etc &> /dev/null 
[root@study03 ~]# echo $?
0
[root@study03 ~]#

(2)命令行展開

[root@study03 ~]# ls
anaconda-ks.cfg
[root@study03 ~]# cp anaconda-ks.cfg{,.bak}
[root@study03 ~]# ls
anaconda-ks.cfg  anaconda-ks.cfg.bak

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

[root@study03 ~]# mkdir -pv /tmp/{a,b}_{c,d}
mkdir: 已創建目錄 "/tmp/a_c"
mkdir: 已創建目錄 "/tmp/a_d"
mkdir: 已創建目錄 "/tmp/b_c"
mkdir: 已創建目錄 "/tmp/b_d"
[root@study03 ~]# tree /tmp
/tmp
├── a_c
├── a_d
├── b_c
├── b_d
├── fstab
├── ks-script-mXddqP
├── yum.log
└── yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx

4 directories, 4 files
[root@study03 ~]#

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

源數據:

文件大小
創建時間
文件的權限
文件的屬主屬組
atime
mtime
ctime
文件類型
文件被硬鏈接的次數
.......

如何查看:

[root@study03 ~]# stat anaconda-ks.cfg
  文件:"anaconda-ks.cfg"
  大小:960       	塊:8          IO 塊:4096   普通文件
設備:fd00h/64768d	Inode:202352576   硬鏈接:1
權限:(0600/-rw-------)  Uid:(    0/    root)   Gid:(    0/    root)
最近訪問:2016-06-21 10:07:00.487995284 +0800
最近更改:2016-06-15 18:44:55.739969731 +0800
最近改動:2016-06-15 18:44:55.739969731 +0800
創建時間:-
[root@study03 ~]#

修改時間戳:請使用touch命令,前面已有介紹,這里不再演示

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

定義別名:

[root@study03 ~]# alias ld='ls -d'

命令引用:

[root@study03 ~]# ll `which passwd`
-rwsr-xr-x. 1 root root 27832 6月  10 2014 /usr/bin/passwd

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

[root@study03 ~]# ls /var/l*[[:lower:]]

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

[root@study03 ~]# ls /etc/[0-9]*[^0-9]
/etc/5ks:

/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# ls /etc/[^a-zA-Z][a-zA-Z]*
/etc/5ks:
/etc/5s:
[root@study03 ~]#

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

[root@study03 ~]# touch /tmp/tfile-$(date "+%F-%H-%M-%S")
[root@study03 ~]# ls /tmp
a_c  b_c  fstab             tfile-2016-06-21-11-18-28  yum_save_tx.2016-06-19.20-38.hpxX0j.yumtx
a_d  b_d  ks-script-mXddqP  yum.log
[root@study03 ~]#

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

[root@study03 ~]# mkdir /tmp/mytest1
[root@study03 ~]# cp -r /etc/p*[^0-9] /tmp/mytest1
[root@study03 ~]# ls /tmp/mytest1
pam.d   passwd-  php.ini  plymouth  popt.d   ppp             printcap  profile.d  python
passwd  php.d    pki      pm        postfix  prelink.conf.d  profile   protocols
[root@study03 ~]#

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

[root@study03 ~]# cp -r /etc/*.d /tmp/mytest2/
[root@study03 ~]# ls /tmp/mytest2/
bash_completion.d  dnsmasq.d      logrotate.d     php.d           rc1.d  rc6.d       sudoers.d
binfmt.d           dracut.conf.d  modprobe.d      popt.d          rc2.d  rc.d        sysctl.d
chkconfig.d        grub.d         modules-load.d  prelink.conf.d  rc3.d  rsyslog.d   tmpfiles.d
cron.d             init.d         my.cnf.d        profile.d       rc4.d  rwtab.d     xinetd.d
depmod.d           ld.so.conf.d   pam.d           rc0.d           rc5.d  statetab.d  yum.repos.d
[root@study03 ~]#

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

[root@study03 ~]# cp -r /etc/[lmn]*.conf /tmp/mytest3/
[root@study03 ~]# ls /tmp/mytest3/
ld.so.conf     libuser.conf  logrotate.conf  mke2fs.conf
libaudit.conf  locale.conf   man_db.conf     nsswitch.conf
[root@study03 ~]#

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

(0)
Net20-studyNet20-study
上一篇 2016-06-23
下一篇 2016-06-23

相關推薦

  • 第十周作業

    第十周作業 ? 1、CentOS系統啟動流程: 1.加電自檢:由bios去檢測各硬件是否存在且是否正常運行,然后進行硬件初始化 2.選擇啟動順序,加載mbr:根據bios設置的設備啟動順序,找到第一個安裝有bootloader的設備進行啟動,bootloader去識別加載操作系統中的核心文件,并提交到內存中運行,進而來啟動相對應的操作系統 由于bootloa…

    Linux干貨 2017-11-13
  • 第二天作業

    1、echo 查閃爍,下劃,顏色    echo -e "\033[31;5;1m*******\033[0m\n \033[32;5;1m*****\033[0m\n  \033[33;5;1m***\033[0m\n   \033[34;5;1m*\033[0m" 2、scr…

    Linux干貨 2016-07-26
  • Redis應用場景

    1.  MySql+Memcached架構的問題 實際MySQL是適合進行海量數據存儲的,通過Memcached將熱點數據加載到cache,加速訪問,很多公司都曾經使用過這樣的架構,但隨著業務數據量的不斷增加,和訪問量的持續增長,我們遇到了很多問題: 1.MySQL需要不斷進行拆庫拆表,Memcached也需不斷跟著擴容,擴容和維護工作占據大量開發…

    Linux干貨 2015-02-25
  • N25期第五周作業

    1.顯示當前系統上root、fedora或user1用戶的默認shell grep -E ‘^(root|ftp|sync)’ /etc/passwd|cut -d: -f7 2.找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello() grep ‘\b.*\b()’ /etc/rc.d/init.d/f…

    Linux干貨 2016-12-26
  • web服務 初步

    Web Service初步 一、引言 Web服務也是一個C/S架構,服務器端就是一個進程,客戶端是一個瀏覽器。我們打開瀏覽器的時候,都會看到hppt,https的字樣,然后才是輸入網址,這兩個協議是web服務的應用層協議,用來實現某些具體應用的。像https,前面學習openssl的時候也接觸過,https=http+ssl。 web的傳輸層協議用到了tcp…

    Linux干貨 2016-12-09
  • 如何修復系統問題–實驗

    實驗一: MBR的數據被破壞了,系統無法開機啟動,如果有光盤,會自動啟動光盤,因為在檢查的時候,認為是沒有硬盤設備的 dd if=/dev/zero of=/dev/sda bs=1 count=446 1. 進入光盤的救援模式中2. 切根  chroot /mnt/sysimage/   再使用 grub-install /d…

    Linux干貨 2017-09-03

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-06-23 13:33

    寫的很好,排版也很棒,10題好像有點小瑕疵,在仔細想想,加油

欧美性久久久久