linux文件管理及bash的基本特性

一、常用的文件和目錄管理命令
1、pwd命令:用來顯示當前的工作目錄
語法格式:直接輸入pwd回車顯示當前的工作目錄
示例:用pwd命令顯示當前的工作目錄
[root@suyiwen ~]# pwd
/root
2、mkdir命令:用來創建目錄文件
語法格式:mkdir [OPTION]… DIRECTORY…
常用option:-m,用來指定目錄的權限;-p,遞歸創建目錄
示例1:在當前路徑下創建目錄/tmp/suyiwen并指定目錄的權限為755
[root@suyiwen ~]# mkdir -m 755 suyiwen
[root@suyiwen ~]# ll
total 28
drwxr-xr-x 2 root root 6 Mar 11 10:10 suyiwen
示例2:創建目錄/tmp/a/b/c
[root@suyiwen ~]# mkdir -p /tmp/a/b/c
[root@suyiwen ~]# tree /tmp/a
/tmp/a
└── b
└── c

2 directories, 0 files
3、rmkdir命令:用來刪除空目錄
語法格式:rmkdir [OPTION]…DIRECTORY…
常用option:-p,遞歸刪除空目錄
示例:刪除/tmp/a/b/c目錄中的a、b、c目錄
[root@suyiwen ~]# rmdir -p /tmp/a/b/c/
rmdir: failed to remove directory ‘/tmp’: Device or resource busy
4、cp命令:用于復制文件或者目錄
語法格式:cp [OPTION]… [-T] SOURCE DEST
常用選項:-f,強制復制,當目標端存在一樣的文件或目錄時直接覆蓋;-i,與用戶交互,提示是否覆蓋;-r,遞歸復制,-b,覆蓋文件時創建備份;-a,保留原文件的屬性
示例:復制/etc/sysconfig/network-scripts下的所有文件或目錄到/tmp目錄下
[root@suyiwen ~]# cp -rf /etc/sysconfig /tmp
5、rm命令:用于刪除目錄或者文件
語法格式:rm [OPTION]… FILE…
常用option:-f,強制刪除;-r;遞歸刪除;-v,顯示刪除過程;-d,刪除空目錄;-i,與用戶交互提示是否刪除
示例:強制刪除/tmp/sysconfig下的所有文件
[root@suyiwen ~]# rm -rf /tmp/sysconfig
6、mv命令:用于移動文件
語法格式:mv [OPTION]… SOURCE… DIRECTORY
常用option:-i,與用戶交互提示是否覆蓋;-f,強制覆蓋目標同名文件;-b,覆蓋移動時,創建備份
示例:將tmp下的CentOS-Base.repo文件移動到當前目錄下
[root@suyiwen ~]# mv /tmp/CentOS-Base.repo ./
二、常用的文件查看命令:
1、cat/tac命令:用于查看文件內容
語法格式:cat [OPTION]… [FILE]…
常用option:-n,顯示行號
示例:查看/etc/fatab文件內容并顯示行號
[root@suyiwen ~]# cat -n /etc/fstab
1
2 #
3 # /etc/fstab
……
2、more:分屏查看文件內容
語法格式:more FILE
示例:查看/etc/init.d/functions文件內容
more /etc/init.d/functions
說明:空格鍵向下翻頁,b鍵向上翻頁,q鍵退出文件
3、less:分屏查看文件內容
語法格式:less FILE
示例:查看/etc/init.d/functions文件內容
less /etc/init.d/functions
說明:空格鍵向下翻頁,b鍵向上翻頁,q鍵退出文件
4、head/tail:查看文件頭部/尾部內容
語法格式:head|tail [OPTION] FILE…
常用option:-n,選擇顯示幾行,默認顯示10行;-f,動態顯示文件修改內容
示例1:查看/etc/init.d/functions文件頭部20行
[root@suyiwen ~]# head -20 /etc/init.d/functions
# -*-Shell-script-*-
……
示例2:實時查看/var/log/messages內容
[root@suyiwen ~]# tail -f /var/log/messages
三、常用的文件元數據管理命令
1、元數據是描述數據的數據:如文件的大小、文件的名稱、最近的訪問時間、最近的修改時間等等
2、stat命令:stat
語法格式:stat FILE…
示例:查看/etc/fstab文件的詳細信息
[root@suyiwen ~]# stat /etc/fstab
File: ‘/etc/fstab’
Size: 565 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 134296930 Links: 1
Access: (0644/-rw-r–r–) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-03-10 16:01:01.370886790 +0800
Modify: 2018-02-12 03:03:33.545999769 +0800
Change: 2018-02-12 03:12:47.645997655 +0800
3、touch命令:用來改變文件的時間戳
語法格式:touch [OPTION] FILE
常用option:-a,改變文件的訪問時間;-m,改變文件的修改時間
注意:當文件不存在時touch會創建一個空文件,可以用-c選項指明不創建
示例:修改/etc/fstab的最近一次訪問時間
[root@suyiwen ~]# touch -a /etc/fstab

四、bash的基礎特性:用來查看文件或者目錄的信息
1、bash的基礎特性之命令實行結果:
bash的命令實行結果保存在變量$?中,返回碼0表示執行成功,返回碼1-255表示執行錯誤
通過echo $?可以查看上一條命令的執行返回碼:
[root@suyiwen ~]# echo $?
0
2、bash的基礎特性之命令行展開
~:表示為用戶的家目錄,如cd ~表示切換到用戶的家目錄
{}:表示展開為逗號分開的路勁
示例1:創建/tmp目錄下的:a_c,a_d,b_c,b_d
[root@suyiwen ~]# mkdir -pv /tmp/{a,b}{c,d}
mkdir: created directory ‘/tmp/ac’
mkdir: created directory ‘/tmp/ad’
mkdir: created directory ‘/tmp/bc’
mkdir: created directory ‘/tmp/bd’
示例2:創建tmp/mylinux下的b:
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
mkdir -pv /tmp/mylinux/{bin,boot/grub,etc/{rc.d/initld,sysconfig/network-scripts},lib/modules,lib64,proc,sbin,sys,tmp,usr/local/{bin,sbin},var/{lock,log,run}}
3、bash的基礎特性之命令行補存
(1)輸入命令的時候可以用tab進行補存命令,如果當前字符串有多個相似的命令,按2下tab鍵會列出這些命令
(2)輸入路勁的時候可以用tab進行補存路勁,如果當前字符串有多個相似的目錄或者文件,按2下tab鍵會列出這些文件
4、bash的基礎特性之引用
(1)強引用:”
(2)弱引用:””
(3)引用命令的執行結果:$(COMMAND)或者`COMMAND`
示例:在/tmp目錄下創建以tfile開頭,后跟當前日期和時間的文件,文件名形如:tfile-2016-05-27-09-32-22
[root@suyiwen ~]# touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
[root@suyiwen ~]# ls /tmp/tfile*
/tmp/tfile-2018-03-11-13-15-25

5、bash的基礎特性之globbing
常用的glob通配符:
*,表示匹配任意長度的字符
?,表示匹配任意的單個字符
[],表示匹配括號內指定范圍的字符,用逗號分開,還有些特殊格式如下:
[[:spack:]]:表示所有的空白字符,空格和tab
[[:alnum:]]:表示所有的字母和數字
[[:digit:]]:表示所有的數字
[0-9]:表示所有的數字
[[:upper:]]:表示所有的大寫字母
[A-Z]:表示所有的大寫字母
[[:lower:]]:表示所有的小寫字母
[a-z]:表示所有的小寫字母
[[:alpha:]]:表示所有的字母,包含大小寫
[[:punct:]]:表示所有的標點符號
[^]:表示除…之外的所有字符
示例1:顯示/var目錄下所有以l開頭,以一個小寫字母結尾,且中間至少出現一位數字(可以有其它字符)的文件或目錄
[root@suyiwen ~]# ls -d /var/1*[[:digit:]]*[[:lower:]]
/var/1u8sf
示例2:顯示/etc目錄下,以任意一個數字開頭,且以非數字結尾的文件或目錄
[root@suyiwen ~]# ls -d /etc/[[:digit:]]*[^[:digit:]]
/etc/5susdyifdsif
示例3:顯示/etc目錄下,以非字母開頭,后面跟了一個字母以及其它任意長度任意字符的文件或目錄
[root@suyiwen ~]# ls -d /etc/[^[:alpha:]]*
/etc/5susdyifdsif
示例4:復制/etc目錄下所有以p開頭,以非數字結尾的文件或目錄到/tmp/mytest1目錄中
[root@suyiwen ~]# cp -rv /etc/p*[^[:digit:]] /tmp/mytest1
‘/etc/pam.d’ -> ‘/tmp/mytest1/pam.d’
‘/etc/pam.d/config-util’ -> ‘/tmp/mytest1/pam.d/config-util’
‘/etc/pam.d/other’ -> ‘/tmp/mytest1/pam.d/other’
‘/etc/pam.d/ksu’ -> ‘/tmp/mytest1/pam.d/ksu’
…..
示例5:復制/etc目錄下所有以.d結尾的文件或目錄至/tmp/mytest2目錄中
[root@suyiwen ~]# cp -rv /etc/*.d /tmp/test2/
‘/etc/auto.master.d’ -> ‘/tmp/test2/auto.master.d’
‘/etc/bash_completion.d’ -> ‘/tmp/test2/bash_completion.d’
……
示例6:復制/etc/目錄下所有以l或m或n開頭,以.conf結尾的文件至/tmp/mytest3目錄中
[root@suyiwen ~]# cp -rv /etc/{1,m,n}*.conf /tmp/test3/
cp: cannot stat ‘/etc/1*.conf’: No such file or directory
‘/etc/man_db.conf’ -> ‘/tmp/test3/man_db.conf’
6、bash的基礎特性之命令別名
bash的命令支持定義別名,使用alias 命令可以查看已定義的別名,如:
[root@suyiwen ~]# alias
alias cp=’cp -i’
alias egrep=’egrep –color=auto’
…..
定義別名:使用alias NAME=’COMMAND’,取消使用unalias NAME,只在當前shell有效,如:
[root@suyiwen ~]# alias suyiwen=’ls -ld’
[root@suyiwen ~]# suyiwen
dr-xr-x—. 5 root root 4096 Mar 11 10:46 .

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

(0)
落葉落葉
上一篇 2018-03-11
下一篇 2018-03-11

相關推薦

  • N26-第七周博客作業

    一、創建一個10G分區,并格式為ext4文件系統; 1、 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl;          A、創建一個10G的磁盤空間 [root@VM_221_40_centos ~]#fdisk /de…

    2017-07-09
  • 創建私有CA

      什么是CA   CA(Certificate Authority)證書頒發機構主要負責證書的頒發、管理以及歸檔和吊銷。證書內包含了擁有證書者的姓名、地址、電子郵件帳號、公鑰、證書有效期、發放證書的CA、CA的數字簽名等信息。證書主要有三大功能:加密、簽名、身份驗證。 搭建私有CA 一、搭建CA服務器 1、生成密鑰 ( ):表示此命令在子進程中運…

    Linux干貨 2017-02-07
  • 第九周博客作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現 #!/bin/bash declare -i sum=0 declare -i sum_nologin=0 for i in $(cut -d: -f7 /etc/passwd);do if…

    Linux干貨 2017-06-06
  • bonding

    boding制作        問題:一個網卡一個IP沒有容錯性     bonding是LINUX中將多網卡綁定虛擬成一塊網卡,實現多網卡共同擁有一個IP,這項技術早在Sun和Cisco中被稱為Trunking和Etherchannel技術。   …

    2017-03-22
  • iptables

    iptables Firewall:防火墻 隔離工具;Packets Filter Firewall;工作于主機或網絡的邊緣,對經由的報文根據預先定義的規則(匹配條件)進行檢測,對于能夠被規則匹配到的報文實行某預定義的處理機制的一套組件; 分類: 硬件防火墻:在硬件級別實現部分功能的防火墻;另一個部分功能基于軟件實現; 軟件防火墻:應用軟件處理邏輯運行于通用…

    Linux干貨 2016-11-07
欧美性久久久久