1.文件管理常用命令:
<1>mkdir,rmdir
mkdir:make directory
mkdir [OPTION]… DIRECTORY…
-p:自动按需创建父目录;
-v:verbose,显示详细过程;
-m MODE;直接给定权限;
注意:路径基名方为命令的作用对象;基名之前的路径必须存在;
rmdir:remove empty directories
rmdir [OPTION]… DIRECTORY…
-p:删除某目录后,如果其父目录为空,则一并删除之;
-v:显示过程;
<2>文件管理工具: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:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r,R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR –preserve=all,archive,用于实现归档;
–preserve
mode:权限
owership:属主和属组
timestamp:时间戳
context:扩展属性
links:符号链接
all:上述所有属性
mv命令:move
mv – move (rename) files
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 / rm -rf /*
<3>常用命令pwd,ls,cat,tac,file
常用命令:
pwd:printing working directory
显示工作目录
cd:change directory
切换目录
cd [/PATH/TO/SOMEDIR]
cd 不加任何参数,表示回到家目录 =
cd ~:切换到自己的家目录
cd ~USERNAME:切换至指定用户的家目录;
cd -:在上一次所在目录与当前目录之间来回切换;
相关的环境变量
$PWD:当前目录 这是个变量,echo $PWD
$OLDPWD
ls: list,列出指定目录下的内容
ls [OPTIONS].. filename
-a:显示所有文件,包括隐藏文件
-A:显示出.和..之外的所有文件
-l:–long,长格式列表,即显示文件的详细属性信息
-:文件类型,- ,d,b,c,l,s,p
左三位rw-:文件的属主的权限;
中三位:文件属组的权限;
后三位:其他用户的权限
1:数字表示文件被硬链接的次数;
第一个root,文件的属主
第二个root,文件的属组
8957:数字表示文件的大小,单位是字节;
10月 14 19:34:文件最后一次被修改的时间;
-h,–human-readable:对文件的大小单文进行换算,换算后的结果可能会非精确值;
-ld,d和l结合使用,查看目录的自身而非其内部的文件列表
-r:reverse,逆序显示
-R:recursive,递归显示
cat:concatenate
文件文本查看工具:
可以接多个文件,一块显示
cat [OPTIONS]… [FILENAME]..
-n:给显示的文本行编号
-E:显示行结束符$
tac:文件文本查看工具,文件内容是逆序的
file:查看文件内容类型;
file [FILE]…
echo:回显
echo [SHORT-OPTION].. [STRING]…
-n:不进行换行;
-e:让转义符生效;
\n:换行
\t:制表符
STRING可以使用引号,单引号和双引号均可用
单引号:强引用,变量引用不执行替换
echo ‘$SHELL’
双引号:弱引用,变量引用会被替换
echo “$SHELL”
注意:变量引用的正规符号 $(name)
2.bash的基础特性:命令的执行状态结果与命令行展开
bash的基础特性:命令的执行状态结果
命令执行的状态结果:
bash通过状态返回值来输出此结果;
成功:0
失败:1-255
命令执行完成之后,其状态返回值保存于bash的特殊变量$?中; echo $?看最近一条命令的状态返回值;
命令正常执行时,有的还回有命令返回值;
根据命令及其功能不同,结果各不相同;
引用命令的执行结果:
$(COMMAND)
或`COMMAND` //注意反引号,左上角1旁边,只能在英文输入法时键入
bash的基础特性之:命令行展开
~:自动展开为用户的家目录,或指定的用户的家目录;
{}:可承载以逗号分隔的路径列表,并能够将其展开为多个路径;
例如:/tmp/{a,b},相当于 /tmp/a , tmp/b
3.利用多选项创建目录结构:
mkdir -v {a,b}_{c,d}
[root@localhost tmp]# ll
total 0
drwxr-xr-x. 2 root root 6 Jul 1 22:26 a_c
drwxr-xr-x. 2 root root 6 Jul 1 22:26 a_d
drwxr-xr-x. 2 root root 6 Jul 1 22:26 b_c
drwxr-xr-x. 2 root root 6 Jul 1 22:26 b_d
mkdir -pv /tmp/mysysroot/{bin,etc/sysconfig/network-scripts,sbin,usr/{bin,lib,lib64,local/{bin,etc,lib,sbin},sbin},var/{cache,log,run}}
[root@localhost tmp]# tree mysysroot/
mysysroot/
├── bin
├── etc
│ └── sysconfig
│ └── network-scripts
├── sbin
├── usr
│ ├── bin
│ ├── lib
│ ├── lib64
│ ├── local
│ │ ├── bin
│ │ ├── etc
│ │ ├── lib
│ │ └── sbin
│ └── sbin
└── var
├── cache
├── log
└── run
4.元数据和可以更改时间戳的命令touch
文件的数据类型有两类:元数据:metadata;数据:data。用stat来查看元数据信息。
touch命令:改变时间戳
touch – change file timestamps
touch [OPTION]… FILE…
-c:指定的文件路径不存在时不予创建
-a:仅修改access time
-m:仅修改modify time
-t STAMP
[[CC]YY]MMDDhhmm[.ss]
5.关于别名的命令alias
获取所有可用别名的定义:
~]#alias
定义别名:
~]#alias NAME=’COMMAND’
注意:仅对当前shell进程有效
撤销别名:
~]#unalias NAME
6.常用命令的综合用法演示
1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现一位任意字符的文件或目录; ls -d /var/l?[[:lower:]]
2:显示/etc目录下,以任意一位数字开头,且以非数字结尾的文件或目录;
ls -d /etc/[0-9]*[^0-9]
3:显示/etc目录下,以非字母开头,后面接一个字母及其它任意长度任意字符的文件或目录;
ls -d /etc/[^a-z][a-z]*
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
touch /tmp/tfile-$(date +%Y-%m-%d-%H-%M-%S)
5.复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
cp -r /etc/p*[^0-9] /tmp/mytest1
6.复制/etc目录下所有以.d结尾的文件或目录至/tmp/mytest2目录中。
cp -r /etc/*.d /tmp/mytest2
7.复制/etc/目录下所有以l或m或n开头,以.conf结尾的文件至/tmp/mytest3目录中。
cp -r /etc/[lmn]*.conf /tmp/mytest3
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/102131