Liunx學習小結2

1. Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。
文件管理類命令有:cp、mv、rm
cp [選項] [參數]
選項:
-a:此參數的效果和同時指定”-dpR”參數相同;
-d:當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
-s:對源文件建立符號連接,而非復制文件;
-u:使用這項參數后只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件并不存在時,才復制文件;
-S:在備份文件時,用指定的后綴“SUFFIX”代替文件的默認后綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
參數:
源文件:制定源文件列表。默認情況下,cp命令不能復制目錄,如果要復制目錄,則必須使用-R選項;
目標文件:指定目標文件。當“源文件”為多個文件時,要求“目標文件”為指定的目錄。
示例1:將指定文件復制到當前目錄下;
~]$ cp ../yangcheng/mageedu/study .
注意:所有目標文件指定的目錄必須是己經存在的,cp命令不能創建目錄。如果沒有文件復制的權限,則系統會顯示出錯信息。
示例2:將文件file復制到目錄/usr/tmp下,并改名為file1;
~]$ cp file /usr/tmp/file1
示例3:將目錄/usr/tmp下的所有文件及其子目錄復制到目錄/usr/yangcheng中;
~]$ cp -r /usr/tmp /usr/yangcheng
示例4:交互式地將目錄/usr/men中的以m打頭的所有.c文件復制到目錄/usr/zh中。
~]$ cp -i /usr/men m*.c /usr/zh
mv [選項] [參數]
選項:
–backup=<備份模式>:若需覆蓋文件,則覆蓋前先行備份;
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:交互式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入”y”,表示將覆蓋目標文件;輸入”n”,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
–strip-trailing-slashes:刪除源文件中的斜杠“/”;
-S<后綴>:為備份文件指定后綴,而不使用默認的后綴;
–target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
參數:
源文件:源文件列表。
目標文件:如果“目標文件”是文件名則在移動文件的同時,將其改名為“目標文件”;如果“目標文件”是目錄名則將源文件移動到“目標文件”下。
示例1:將文件yangcheng改名為yc;
~]$ mv yangcheng yc
示例2:將目錄/usr/yangcheng中的所有文件移到當前目錄(用.表示)中。
~]$ mv /usr/yangcheng/* .
rm [選項] [參數]
選項:
-d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;
–preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。
參數:
文件:指定被刪除的文件列表,如果參數中含有目錄,則必須加上-r或者-R選項。
示例1:交互式刪除當前目錄下的文件test和example;
rm -i test example
Remove test ?n(不刪除文件test)
Remove example ?y(刪除文件example)
示例2:刪除當前目錄下除隱含文件外的所有文件和子目錄。
rm -r * (這是非常危險的操作)
注意:所有不用的文件建議不要直接刪除,而是移動至某個專用目錄:(模擬回收站)

2. bash的工作特性之命令執行狀態返回值和命令行展開所涉及的內容及其示例演示。
bash通過狀態返回值來輸出此結果:成功:0,失?。?-255之間某一個數字表示。 命令執行完成之后,其狀態返回值保存于bash的特殊變量$? 中,使用 echo $? 可以查看最近一條命令執行的狀態返回值。命令正常執行時,有的還會有命令返回值:根據命令及其功能不同,結果各不相同。

[root@centos111 ~]# ls
anaconda-ks.cfg  Documents  install.log         Music     Public     Videos
Desktop          Downloads  install.log.syslog  Pictures  Templates
[root@centos111 ~]# echo $?
0
[root@centos111 ~]# lss           #輸入一個不存在的命令
bash: lss: command not found
[root@centos111 ~]# echo $?
127

命令行展開:
~:自動展開為用戶的家目錄,或指定的用戶的家目錄;

[root@centos111 etc]# cd ~
[root@centos111 ~]# pwd
/root

{}:可承載一個以英文逗號分隔的路徑列表,并能夠將其展開為多個路徑;
例如:/tmp/{a,b} 相當于 /tmp/a,/tmp/b

[root@centos111 test]# mkdir -pv /tmp/{a,b}
mkdir: created directory `/tmp'
mkdir: created directory `/tmp/a'
mkdir: created directory `/tmp/b'
[root@centos111 test]# cd /tmp
[root@centos111 tmp]# ls
a  b

3. 請使用命令行展開功能來完成以下練習:
a.創建/tmp目錄下的:a_c, a_d, b_c, b_d;

[root@centos111 tmp]# mkdir -v {a,b}_{c,d}
mkdir: created directory `a_c'
mkdir: created directory `a_d'
mkdir: created directory `b_c'
mkdir: created directory `b_d'
[root@centos111 tmp]# ls
a_c  a_d  b_c  b_d

b.創建/tmp/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@centos111 tmp]# mkdir -p /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}
[root@centos111 tmp]# tree mylinux/
mylinux/
├── bin
├── boot
│   └── grub
├── dev
├── etc
│   ├── rc.d
│   │   └── init.d
│   └── sysconfig
│       └── network-scripts
├── lib
│   └── modules
├── lib64
├── lock
├── log
├── proc
├── run
├── sbin
├── sys
├── tmp
├── usr
│   └── local
│       ├── bin
│       └── sbin
└── var

24 directories, 0 files
[root@centos111 tmp]#

4. 文件的元數據信息有哪些,分別表示什么含義,如何查看?如何修改文件的時間戳信息。
文件的元數據信息有:
File、Size、Blocks、IO Block、directory、Device、Inode、Links、Access、UID、GID、Access(access time)、Modify(modify time)、Change(change time)
分別表示含義為:文件名稱,文件大小,文件塊,每個文件塊大小,文件類型,文件設備,索引節點號,硬鏈接數,文件權限,文件所屬的屬主,文件所屬的屬組,最近訪問時間、最近修改時間、最近改動時間。
可用命令stat查看文件的元數據

[root@centos111 tmp]# stat mylinux/
  File: `mylinux/'
  Size: 4096            Blocks: 8          IO Block: 4096   directory
Device: 802h/2050d      Inode: 651841      Links: 17
Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-22 22:51:57.531998776 +0800
Modify: 2017-07-22 22:49:47.894998469 +0800
Change: 2017-07-22 22:49:47.894998469 +0800

修改文件時間戳可用touch命令,touch命令有兩個功能:一是用于把已存在文件的時間標簽更新為系統當前的時間(默認方式),它們的數據將原封不動地保留下來;二是用來創建新的空文件。
語法:touch [選項] [參數]
選項:
-a:或–time=atime或–time=access或–time=use 只更改存取時間;
-c:或–no-create 不建立任何文件;
-d:<時間日期> 使用指定的日期時間,而非現在的時間;
-f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或–time=mtime或–time=modify 只更該變動時間;
-r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同;
-t:<日期時間> 使用指定的日期時間,而非現在的時間;
–help:在線幫助; –version:顯示版本信息。
參數:
文件:指定要設置時間屬性的文件列表。
示例:修改文件時間戳

[root@centos111 tmp]# touch -m -t 201707220000.00 ex2
[root@centos111 tmp]# stat ex2
  File: `ex2'
  Size: 0               Blocks: 0          IO Block: 4096   regular empty file
Device: 802h/2050d      Inode: 663911      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-07-22 22:54:40.072998274 +0800
Modify: 2017-07-22 00:00:00.000000000 +0800
Change: 2017-07-22 22:54:40.072998274 +0800

原創文章,作者:N27_太極異次元,如若轉載,請注明出處:http://www.www58058.com/83498

(0)
N27_太極異次元N27_太極異次元
上一篇 2017-07-31 21:37
下一篇 2017-08-02 08:52

相關推薦

  • 刪除并恢復

    1.刪除/lib64/libc.so.6 ,并恢復之。 centos7.3:重啟→進入救援模式→cd  lib64→cp libc.so.6  /mnt/sysimage/lib64 →exit,選擇第二個白條(救援),即可恢復; centos6.9:重啟→進入救援模式→cd  lib64→cp libc.so.6  …

    2017-06-11
  • Nginx反向代理原理、壓測及模塊功能的實現

    基本架設 反向代理模塊 緩存功能的實現 修改報文首部IP 向后端轉發時是否讓客戶端知道 在http中定義緩存基本屬性 定義當后端服務宕機時過期緩存生效條件 報文首部模塊,自定義報文首部 負載均衡模塊1 負載均衡模塊2 負載均衡模塊的常用調度方法1 負載均衡常用調度方法2 與http想等的動態負載均衡模塊1 與http想等的動態負載均衡模塊2 這里讓我們對之前…

    2016-10-30
  • Linux基礎入門命令

    在經過一個星期的入門學習后,對于LINUX的認識也從陌生到了基本了解??偨Y了一下一周所學習的基本命令。 一、想要查看你當前所在的終端?看下面幾條命令: 查看當前登陸的終端名:tty 、whoami ;   查看當前登陸的終端名的詳細信息:who am i ; 查看當前所有登陸的終端的詳細信息: w ; 二、SHELL 的相關用法 &nbs…

    2017-07-14
  • 文件通配符與命令行擴展

    * 匹配零個或多個字符 ? 匹配任何單個字符 ~ 當前用戶家目錄 ~mage 用戶mage家目錄 ~+ 當前工作目錄 ~- 前一個工作目錄 [0-9] 匹配數字范圍 [a-z] 字母 [A-Z]字母 ???????? [a-Z] 會以aAbBcC…小大小大列出,特別要注意 [wang] 匹配列表中的任何的一個字符 [^wang]匹配列表中的所有字…

    2017-11-12
  • linux基本命令的使用

      1>    查看當前終端名:tty 或who am i       查看當前所有登錄的終端信息:who       查看當前所有登錄的終端的詳細信息 w 2> 編輯器    …

    2017-07-15
  • N24 第6周作業

    請詳細總結vim編輯器的使用并完成以下練習題 1、復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#; 2、復制/boot/grub/grub.conf至/tmp目錄中,刪除/tmp/grub.conf文件中的行首的空白字符; 3、刪除/tmp/rc.sysinit文件…

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