【shell通配符】
-
- *匹配任意一个/多个字符 ls *.txt
- 2.?匹配任意单一字符 ls ab?.txt(abc.txt) ab??.txt(abcc.txt)
-
- []匹配任何包含在括号内的单个字符 ls ab[123456].txt(ab1.txt)
-
- 组合使用 ls [0-9]?.conf [xyz]*.txt
【shell管道】
| 连接命令 ls -al /etc/* |more 将/etc下的所有文件分屏显示
【shell的引用】
- 转义字符 \ mv abc?* abc(修改原文件名为abc?*为abc)
- 单引号 '' 将字符串放在引号间,字符串中的字符特殊含义会被忽略
mv C:\backup backup 等同于 mv 'C:\backup' backup - 双引号 "" 用法与单引号基本相同,但双引号里的一些特殊字符仍保留自己的特殊含义,如$,\
cd xxx 切换到指定目录,xxx是绝对路径
cd 、cd ~ 切换到当前用户默认工作目录
【ls】
ls 显示指定目录下的文件和子目录
ls -a 显示包括隐藏文件在内的
ls -l 将文件、目录的权限,大小等信息列出
ls -t 按时间排序
ls -s 列出文件大小
ls -u 按文件上次被访问的时间排序
pwd 显示当前的工作目录绝对路径
date 显示当前系统时间
date -s 设置系统时间 例:date -s 20180715 修改当前时间为****
date -d 显示描述的日期 例:date -d '2 days ago' 显示两天前的时间
date '+%H' 显示当前时间的小时数
passwd 修改当前用户的密码
passwd xxx 超级用户root修改某个用户的密码
su 用于改变用户身份
su - 加载相应用户下的环境变量,若用户想成为超级用户,执行此命令,并根据提 示舒服密码即可
注意:- 会加载root环境变量,直接su也可变为超级用户,但未加载环境,可能有些命令无法执行
clear 清屏
man 用来显示指定命令的帮助信息 例如 man ls
who 显示目前登录到系统的用户
w 显示登录到系统的用户信息,比who再详细点
uname 显示操作系统相关信息
uname -a 显示系统全部信息
uname -m 显示系统CPU类型
uname -n 显示主机名
uname -s 显示操作系统类型
uname -r 显示系统内核版本
【ps】
ps 显示系统进程的运行动态
-e 只显示进程名
-f 详细显示程序执行的路径群
【mkdir】创建一个目录
-p 指定路径名称,若路径中目录不存在,会自动创建
-m 对新建目录设置权限
例:mkdir -p /home/user1/user2 在此路径创建user2目录,若无user1,会一并创建
【more】
more 读取文本文件时,分屏显示,每次显示一屏幕,下方有more
enter-继续显示文本的一行,空格键-显示另一屏
-d 显示时底部展示友好提示信息,如space to continue,q to quit等
-s 将文本中多个空行减少为一个空行显示
-xx xx为数字,每xx行为一屏幕
【cat】将文本内容输出到标准输出,且还可用于连接合并文件
-b 将文件中非空行按顺序编号,从1开始
cat 文件1 文件2 > 文件3 将文件1和2的内容合并到3中
【grep】文本过滤工具,根据字符串进行逐行搜索,找到输出
-i 忽略大小写
-n 搜索结果里显示行号
-A num 列出符合条件行后的num行
-B num 列出符合条件行前的num行
grep -ni xxx xxx.txt
【tail】将制定文件输出到标准设备,通常是终端,默认显示10行
-f 用于监视File文件增长
-n num 从num行位置读取,num可以为正负,表示从顶部还是从尾部开始计算
【rm】rm -rf慎用,不能恢复
删除某个目录及其下所有文件及子目录
-r 递归删除
-f 忽略不存在的问题,也不给出提示
-i 交互式删除,删除前进行确认
【touch】创建文件,改变文件的访问时间和修改时间
touch xxx.txt
【file】显示文件类型
【cp】复制文件或目录到另一个文件或目录
-a 复制目录保留一所有信息,递归复制
-r 递归复制目录下的子文件和子目录,目标必须为目录名
-i 有想相同文件名的目标文件时,提示用户
cp -r xxx/xxx1/* /xxxxx/xxxxx 前者目录下的所有内容复制到目标下
cp -r xxx/xxx1 /xxxxx/xxxxx 前者目录及目录下的内容复制到目标西安
【find】指定路径下查找指定的文件
find pathName [-options]
pathName路径名, .表示当前目录 /表示根目录
options表示搜索选项
常用:find / -name mysql 查找所有文件名匹配mysql的所有文件
【mv】给文件/目录改名,迁移文件/目录从源目录到目标目录
-i 交互式操作,提示是否覆盖
【tar】对文件或目录进行打包归档
常用 tar -zvxf xxx/xxx/xxx.tar.gz 解压
tar -zvxf xxx/xxx/xxx.tar.gz xx/xx 解压tar里面知道目录的文件
tar -cvf xx/xx.tar /xxx 把后者目录下的所有文件打包为xx.tar
tar -zcvf xx/xx.tar.gz /xxx 在上者基础上并调用gzip命令压缩
tar -jcvf xx/xx.tar.bz2 /xx 在上者基础上调用bzip2命令压缩
tar -ztvf xxxx.tar.gz列出压缩包的内容
-c 新建文件
-v 指定创建归档文件过程中,显示各个归档文件名称
-f 必须是命令最后一个选项,紧跟文件的储存设备,默认磁盘
-z 调用gzip解压缩文件
-t 列出档案文件中已经归档的文件列表
-j 调用bzip2命令解压缩文件
-u 更新档案文件,用新文件替换原始的
-x 从打包的档案文件中还原出文件
【df】检查磁盘空间占用
-h 以容易理解的格式输出文件系统分区占用情况
【du】显示文件/目录占用磁盘空间情况
-s 显示大小,单位为KB
-sh 以人性化的格式显示大小,如xxGB,xxMB
【ifconfig】配置网络和显示网络接口状态
ifconfig -a 显示所有网络接口信息
【netstat】 显示网络连接,运行端口和路由表信息
-a 显示本机所有连接和监听端口
-n 以网络IP形式显示当前有效连接和端口
netstat -an | grep xxx 查看网络端口状态
【telnet】与远程主机通信
telnet 主机名/IP地址端口
telnet 192.168.28.30 8080
【常用的几个命令】
find / -name xxxx 在根目录下查找名字为xxxx的文件或目录
grep -r xxx1 xxx2 在xxx2文件里查找关键字为xxx1的内容
grep -rn xxx1 xxx2 上者基础上显示行数
netstat -an | grep xxxx 查看某网络端口状态
df -h 查看硬盘状态
du -sh 查看文件目录的磁盘占用空间
ps -aux | grep xxx 查找进程中含有xxx的信息,此两者显示的内容和形式不同
ps -ef | grep xxx
grep -v xxx 过滤含有xxx的行
awk 'print $2' 打印出第二列值
scp xxx/xxx/xx root@ip:xxxx/xxxx/xxx copy文件到远程服务器