查看及切换目录
1)cd 命令高级用法
格式:cd [目标文件夹路径]
. 代表当前所在目录
.. 代表父目录(上一层目录)
~用户名 用户的家目录
cd .. # 切换至上一级目录
cd ~ # 切换至当前登陆用户的家目录
cd ~wg # 切换至指定的wg用户的家目录
绝对路径:以 / 开始的路径,就是绝对路径(完整路径)
相对路径:以当前路径为参照的,就是相对路径(就是在当前路径下就有这个目录,直接cd进入即可)
[root@localhost ~]# ls /root/abc/ # 查看/root/abc的内容
aa
[root@localhost ~]# mkdir /root/abc/bb # 在/root/abc创建bb目录
[root@localhost ~]# mkdir /root/abc/cc # 在/root/abc创建cc目录
[root@localhost ~]# mkdir /root/abc/dd # 在/root/abc创建dd目录
[root@localhost ~]# ls /root/abc/
aa bb cc dd
[root@localhost ~]# cd /root/abc # 切换至/root/abc
[root@localhost abc]# ls
aa bb cc dd
[root@localhost abc]# pwd # 显示当前所在路径
/root/abc
[root@localhost abc]# cd cc # 使用相对路径的方式进入cc目录
[root@localhost cc]# pwd
/root/abc/cc
[root@localhost cc]# cd /root/abc/ # 切换至/root/abc
[root@localhost abc]# cd /root/abc/cc # 使用绝对路径的方式进入cc目录
[root@localhost cc]# pwd
/root/abc/cc
2)ls 命令的高级用法
格式:ls [选项]... [目录或文件名]
常用选项:-l 以长格式显示,显示属性等信息
-A 显示所有内容,包括隐藏文件(-a:显示隐藏文件)
ls -A /root # 显示/root目录下的所有隐藏文件
ls -a /root # 除了显示/root所有的隐藏文件以外,还显示上一级目录(..)还有当前目录(.)
-d 显示目录本身的属性,不能单独使用,需要结合 -l 选项使用
-h 提供易读的容量单位(K,M等),以人类可以看懂的方式显示文件大小
-R 递归显示文件的内容
ls -l /root # 查看/root目录下所有子文件子目录的属性
ls -ld /root # 查看/root目录自己本身的属性
ls -d /root # -d选项需要结合-l选项使用,不能单独使用
cd /root/abc
ls aa aa/bb aa/bb/cc bb cc dd # 使用最原始的方法递归查询目录结构
ls -R /root/abc # 使用-R 选项递归查询目录结构
2、别名/删除/复制/移动
1)alias 定义别名(临时定义别名)
格式:alias 别名='命令'
例如:alias hn='hostname'
unalias 取消别名
格式:unalias 别名
例如:unalias hn
2)mkdir 的高级用法
格式:mkdir [-p] [/路径/]目录名...
-p 代表创建逐级目录时,连同父目录一同创建
例如:mkdir -p /aa/bb/cc/dd/ee
3)rm 删除
格式:rm [选项]... 文件或目录...
-i 删除时,会先提示是否删除
-r 递归删除整个目录
-f 强制删除,不提示
例如:rm -r /aa/bb/cc/dd/ee
rm -rf /opt/nsd01
4)cp 复制操作
格式:cp [选项]... 原文件... 目标路径
常用命令选项:
-r 递归复制整个目录
-f 强制覆盖,不提示(-f的优先级比-i的优先级低)
-i 覆盖时,出现提示(-i的优先级比-f的优先级高)
-p 保持原文件的属性不变
\cp -rf 源文件 目标文件
\ 只针对这一次命令取消别名
cp拷贝目录的操作:
cd /root
cp dir01 dir02
ls dir02/
cp -r dir01 dir02
ls dir02
cp -r dir01 dir02/dir03
ls dir02
cp拷贝文件时,出现同名文件,可以使用\取消别名,然后进行拷贝:
cd /root
ls dir01
ls dir02
cp dir01/file1 dir02/file1
cp -f dir01/file1 dir02/file1
alias
\cp -f dir01/file1 dir02/file1
cp文件时,保持原有属性:
ls -l /root/
ls -la /home/wg/
cp /home/wg/.bashrc dir02
ls -l dir02/
ls -la dir02/
ls -la /home/wg/
cp -p /home/wg/.bash_logout dir02
ls -la dir02/
5)mv 移动/改名
格式:mv 原文件... 目标路径
例如:mv /opt/1.txt /opt/nsd01
mv /opt/nsd01/1.txt /opt/nsd01/2.txt
3、通配符(匹配关键字)
1)常用通配符
* 匹配多个任意字符
? 匹配任意单个字符
[0-9]、[0123456789] 匹配括号内多个字符或连续范围中的一个,若无则忽略
{a,min} 匹配大括号内多组不同的字符串
4、管道和重定向
1)重定向输出
覆盖重定向:cmd > file
追加重定向:cmd >> file
>:覆盖重定向,会覆盖文件本身的内容,如果文件不存在,会自动新建一个文件
>>:追加重定向,在文件的末尾追加写入,如果文件不存在,会自动新建一个文件
例子:
echo my name is wg > abc.txt
echo my name is nsd2010 >> abc.txt
cat abc.txt
cat /etc/hosts
cat /etc/hosts >> abc.txt # 将cat命令的输出追加写入到abc.txt中
cat abc.txt
ls /root
ls /root >> abc.txt # 将ls命令的输出追加写入到abc.txt中
cat abc.txt
2)echo 命令
格式:echo 写入需要输出内容
3)date 命令,查看系统日期时间
查看时间:date
修改时间:date -s '2000-10-1 12:12:10'
4)bc 命令,交互式整数计算器
使用计算器:bc
+:代表加法
-:代表减法
*:代表乘法
/:代表除法
%:代表取余数
quit:退出bc计算器
5)使用 | 管道操作
将前一条命令的输出结果作为参数交给后一条命令处理
格式:cmd1 | cmd2 | cmd3...
例如:head -12 /etc/passwd | tail -5
cat -n /etc/passwd | head -n 15 | tail -n 8 # 显示文件的8-15行内容
5、find查找
根据预设的条件递归查找对应的文件
格式:find [目录] [条件1]
常用条件表示:
-type 类型(f、d、l)f:类型是文件、d:类型是目录、l:类型是快捷方式
-name "文档名称"
-size +|-文件大小(k、M、G)
-user 用户名
-mtime 修改时间
例如: find /root -type f ## 查找/root目录下的文件
find /root -type d ## 查找/root目录下的目录
find /boot -type l ## 查找/boot目录下的快捷方式
find /etc -name "*tab" ##查找/etc目录下以tab结尾的文件或目录
find /boot -size +10M ##查找/boot目录下大于10M的文件
find /boot -size -10M ##查找/boot目录下小于10M的文件
useradd wg02 ## 新建一个普通用户,名称是wg02
find /home -user wg02 ##查找/home目录下所有者是wg02的文件
find / -mtime +300 ##查找 / 目录下300天之前的文件
find / -mtime -300 ##查找 / 目录下300天之内的文件
6、find 的高级使用
1)wc 命令,用于做统计
wc -l 只看行数
cat /etc/passwd | wc -l
2)find 高级用法
可以匹配多个条件
find /etc/ -name "*tab" -a -type d
find /etc/ -name "*tab" -o -type f
find /dev/ -name 'lp*' -a -name 'tty*'
-a 代表and,两者条件都满足,-a可以不加,默认就是-a
-o 代表or,两者条件满足其一即可
find /home -user wg02 -type f
3)处理 find 命令找到的文件
格式:find [范围] [条件] -exec 处理命令 {} \;
-exec 代表额外的操作
{ } 替代每一个查找的结果,也就是将find命令查找到的结果都放到大括号中去处理
\; 代表额外操作结束
例如:find /boot -size +10M -exec cp {} /root/findfile \;