目录:
通过别名机制,简化常用的,比较长的命令
alias 命令别名=’命令‘
##设置临时别名
eg:
alias myls=‘ls -ldh‘
###设置别名时,等号两边不能有空格,并且,单引号必须是英文的单引号
unalias 命令别名
eg:
unalias myls
vim 用户家目录/.bashrc
然后在重新加载文件 .bashrc
每个用户的家目录下都有一个 .bashrc 的文件,里面存放了别名配置
eg:
设置永久别名 mycp ,使得它获得 cp -r 的功能
cp [选项] 源文件或者目录 目标文件或者目录
常用选项:
2.1.1 cp -p 复制时保持源文件的权限、属主及时间标记等属性不变。
cp -p 源文件 目标文件
eg:root用户使用 cp 命令 ,复制文件abc.txt 为 123.txt
root用户使用cp -p 命令 复制文件abc.txt 为 456.txt
可以看到,cp 命令复制后,新文件123.txt 的属主,属组,时间都改变了,属主,属组变为了 root用户,时间变为了当前时间
cp -p 命令复制后,新文件456.txt 的属主,属组,时间没有改变,和源文件相同
2.1.2 cp -r 复制目录时必须使用此选项,表示递归复制所有文件及子目录
cp -r 源目录/文件名 目标目录/文件名
eg: cp -r abc 123
2.1.3 cp -s 和 cp -l 创建软连接和硬链接 类似于ln命令
cp -s 源文件 链接文件
cp -l 源文件 链接文件
eg:
cp -s 创建 a.txt 的软连接b.txt
cp -l 创建 a.txt 的硬链接c.tx
2.1.4 cp -d 复制软连接而不是软链接文件
cp -d 源文件 目标文件
eg:
使用cp 命令复制 软链接 b.txt 为b1.txt
使用 cp -d 命令复制软链接b.txt 为 b2.txt
查看内容
更改源文件 a.txt内容 追加重定向写入 “abc”
再次查看发现,软链接b.txt ,以及 b2.txt 都和a.txt 保持一致。 而b1.txt 内容没有改变
所以,cp复制软链接时,如果不加选项-d ,只是复制符号文件里的内容。而加上选项 -d 后,相当于再次建立了一个新的软链接
mv 可以将制定文件或目录转移位置。如果目标位置与源位置相同,则相当于重命名操作
mv [选项] 源文件或目录 目标文件或目录
2.2.1 mv 移动单个文件或目录
mv 源文件或目录 目标文件或目录
# 默认为移动后文件或目录名与源文件或目录相同
2.2.2 mv 移动多个文件或目录
mv 源文件或目录1 源文件或目录2 ...... 目标目录
###移动多个文件或目录, 目标只能是存在的目录
2.2.3 mv 重命名
mv 在移动文件或目录时,可以在目标位置重命名。 可以直接原地移动来重命名
# mv 的重命名只能对单个文件或目录进行操作,如果想一次性重命名多个,可以使用 rename命令
rename 旧字符 新字符 目标文件 ###rename 可以配合通配符进行操作
eg:
将 以.txt 结尾的文件改名为 .doc 结尾
rename txt doc *.txt
rm [选项] 要删除的文件或者目录 ### rm 的参数可以是多个,还可以配合通配符 * ? [ ] 使用
选项:
删除目录
批量删除以 .doc 结尾的文件
3.1 which 查找命令文件存放目录 ,搜索范围由环境变量 $PATH 决定(echo $PATH)
which [-a] 命令/程序名
###which 不加上选项 -a 默认在$PATH 的路径中,从左向右查找,找到第一个后就不再查找。选项 -a 可以让whicn 在所有搜索路径中查找4
### 因为内部命令没有独立的文件,所以which 在查找内部命令时,将找不到程序
eg: ls 拥有命令文件,所以可以用which查找到
enable 是内部命令,没有单独的命令文件,所以 which 查找不到
find [ 查找范围] 查找条件表达式
### find 是全盘递归精细查找,能够查找到隐藏文件,也会消耗大量的cpu资源。
3.2.1 查找条件:
-name:按照文件名字(-name 后面的参数需要加上双引号“
-size:按照文件大小( 大于+ ,或者小于 - )
-user:按照文件属主
-type:按照文件类型
查找类型
|
关键字
|
说明
|
按照名称查找
|
-name
|
根据目标文件的名称进行查找,允许使用“*” 及“?” 通配符
|
按照文件大小查找
|
-size
|
根据目标文件的大小进行查找
按文件大小查找-size 一般使用"+"、"-"号设置超过或小于指定的大小作为查找条件
常用的容量单位包括kB (注意k是小写) 、MB, GB
|
按照文件属主查找
|
-user
|
根据文件是否属于目标用户进行查找
|
按文件类型查找
|
-type
|
根据文件的类型进行查找
按文件类型查找-type 文件类型包括普通文件(f) 、目录(d) 、块设备文件(b)、字符设备文件(c)等
块设备文件(b) :成块读取数据的设备(硬盘,内存,光驱)
字符设备文件(c) :按单个字符读取数据的设备(键盘,鼠标)
|
eg:
在/var 目录中,查找名字是以 .txt 结尾的文件
find /var -name "*.txt"
在/var 目录中,查找大于100M的文件
find /var -size +100M
在/var 目录中,查找属主是 abrt 的文件
find /var -user abrt
在/opt 目录中查找类型是目录的文件
find /opt -type d
3.2.2 find 和逻辑运算符一起使用,实现多个查找条件
逻辑运算符
-a 表示 而且(and) 所有条件都要满足
-o 表示 或 (or)条件只要满足一个
eg:
在/opt 目录中查找 文件类型是目录,并且属主是root的文件
find /opt -type d -a -user root
在/opt 目录中查找文件类型是目录 ,或者 属主是root 的文件
find /opt -type d -o -user root
3.2.3 find 的额外动作exec
find [查找范围] 条件表达式 -exec Linux系统命令 {} \;
-exec 参数后面跟的是Linux 系统命令, 它是以分号 ;为结束,在 分号前面加上 反斜杠 \ 转义符,取消 分号 ; 的特别释义
大括号{} 代表find 查找出的结果
eg:
在/opt目录下找到类型是文件并且名字以 .txt 结尾的,然后删除
find /opt -type f -a -name "*.txt" -exec rm -rf {} \;