mkdir:make directory(建立目錄)php
語法:mkdir [OPTION]... DIRECTORY...node
-p: 自動按需建立父目錄;mysql
-v: verbose,顯示詳細過程;linux
-m MODE:直接給定權限;sql
注意:路徑基名方爲命令的做用對象;基名以前的路徑必須得存在; shell
示例: mkdir -p /tmp/test/x/y ----在/tmp目錄下遞歸建立/test/x/y三個目錄vim
mkdir -v /tmp/test/x/y ----在/tmp目錄下遍歷看是否已經有了咱們要建立的文件,有就不建立,沒有就建立安全
mkdir -m 777 z ----在當前目錄下z目錄同時指定目錄z的權限爲777bash
rmdir:remove empty diectories (刪除目錄)app
語法:rmdir [OPTION]... DIRECTORY...
-p: 刪除某目錄後,若是其父目錄爲空,則一併刪除之;
-v: 顯示過程;
注意:rmdir 只能刪除空目錄;
示例:[root@SilasSZL x]# rmdir -pv /tmp/x/y1/a/
rmdir: removing directory, ‘/tmp/x/y1/a/’
rmdir: removing directory, ‘/tmp/x/y1’
rmdir: removing directory, ‘/tmp/x’
rmdir: failed to remove directory ‘/tmp/x’: Directory not empty
tree:目錄結構查看
語法:tree [options] [directory]
-d:只顯示目錄
-L level:指定要顯示的層級;
示例:[root@SilasSZL x]# tree -d
.
├── test3
└── x2
2 directories
[root@SilasSZL x]# cd /tmp/
[root@SilasSZL tmp]# tree -L 1
.
├── Aegis-<Guid(5A2C30A2-A87D-490A-9281-6765EDAD7CBA)>
├── mysql.sock
├── sess_gd1l4k5doad05sgsmgubcjnrkj0l9b4m
├── sess_r6db4ausbtqt9jhn5b2d2ra9vgas9317
├── systemd-private-f7cf3ddec7f649aaafdeb498d9de431c-ntpd.service-A3JkPQ
└── x
2 directories, 4 files
cd:change directory (改變工做目錄)
語法:cd [/PATH/TO/SOMEDIR]
示例:cd ..:切換到上級目錄
cd ~:切換回本身的家目錄
cd -:在上一次目錄與當前目錄直接來回切換
pwd:顯示當前目錄
示例:[root@SilasSZL ~]# pwd
/root
ls:list 顯示指定路徑下的文件列表
語法:ls [OPTION]... [FILE]...
-a: 顯示全部文件,包括隱藏文件;
-A:顯示除.和..以外的全部文件;
-l: --long, 長格式列表,即顯示文件的詳細屬性信息;
-h, --human-readable:對文件大小單位換算;換算後結果可能會非精確值;
-d:查看目錄自身而非其內部的文件列表;
-r: reverse, 逆序顯示;
-R: recursive,遞歸顯示;
示例:[root@SilasSZL ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc install.log .mysql_history satools .tcshrc .vimrc
.. .bash_history .bash_profile .cshrc install.log.syslog .rnd .ssh .viminfo
[root@SilasSZL ~]# ls -R
.:
anaconda-ks.cfg install.log install.log.syslog satools
./satools:
black.txt freemem.sh iptables.sh lnmp.sh mysql php502_check.sh ssh_safe.sh
cp:copy(複製)
語法:單源複製: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 [OPTION]... FILE...
經常使用選項:-i:interactive 交互式;
-f:force 強制
-r: recursive 遞歸
注意:全部不用的文件建議不要直接刪除,而是移動至某個專用目錄;(模擬回收站)
示例:刪除目錄:rm -rf /PATH/TO/DIR
危險操做:rm -rf /*
1.命令執行狀態返回值:
bash經過狀態返回值來輸出此結果:
成功:0
失敗:1-255
命令執行完成以後,其狀態返回值保存於bash的特殊變量$?中;
示例:
2. 命令行展開
~: 展開爲用戶的主目錄
~USERNAME:展開爲指定用戶的主目錄
{}:可承載一個以逗號分隔的列表,並將其展開爲多個路徑
示例:/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi
1.建立/tmp目錄下的:a_c, a_d, b_c, b_d
示例:
2. 建立/tmp/mylinux目錄下的:
mylinux/
I————bin
I————boot
II————grub
I————dev
I————etc
I I————rc. d
I I I————init. d
I I————sysconfig
I I————network-scripts
I————lib
I I————modules
I————lib64
I————proc
I————sbin
I————sys
示例:
1.文件的元數據包括文件名(File)、大小(Size)、數據塊(Blocks)、IO塊(IO Block)、設備(Device)、節點號(Inode)、硬連接(Links)、權限(Access)、文件所屬主(Uid)、文件所屬組(Gid)、最近訪問時間(Access Time)、最近文件修改時間(Modify Time)、最近文件屬性更改時間(Change Time)
2.經過 touch 命令修改文件的時間戳信息:
-c:指定的文件不存在時不予建立(全部時間都會改變);
-a:僅修改access time(實際change time會隨着改變);
-m:僅修改modify time(實際change time會隨着改變);
-t:使用指定的日期時間,格式[[CC]YY]MMDDhhmm[.ss](access time和modify time爲指定時間,change time爲當前系統時間)
示例:
1.經過 alias 命令能夠查看全部命令的別名或者定義別名,取消別名可經過命令 unalias。
定義別名格式:alias NAME='COMMAND'
注意:定義的別名只對當前shell進程有效
示例:
2.引用命令的執行結果可經過 $(COMMAND) 或者 COMMAND 兩種方式。
示例:[root@SilasSZL ~]# echo $(date)
Sat Oct 6 09:43:05 CST 2018
# ls -d /var/l*[0-9]*[[:lower:]]
# ls -d /etc/[0-9]*[^0-9]
# ls -d /etc/[^[:alpha:]][[:alpha:]]*
[root@SilasSZL tmp]# touch tfile-`date +"%Y-%m-%d-%H-%M-%S"`
[root@SilasSZL tmp]# ll|grep tfile-2016-05-27-09-32-22
# cp -a /etc/p*[^0-9] /tmp/mytest1
# cp -a /etc/*.d /tmp/mytest2
# cp -a /etc/[l,m,n]*.conf /tmp/mytest3