Linux常用命令
打印命令
使用echo命令进行打印输出
echo '123'
echo $PATH
printf打印命令,常用于格式化输出
printf "hello world \n"
printf "%d%s\n" 1 "abc"
printenv命令可以打印环境变量
printenv
时间日期类命令 -date
显示当前日期和时间
显示非当前时间
设置系统时间
系统时间同步
date +%Y - %m - %d #2019-12-10
date +%H:%M:%S #13:29:03
date +%I:%M:%S #12小时时间显示
date -d '1 days ago' #显示前一天时间
date -s "00:12:23 2019-03-04" #设置系统时间
ntpdate -u ntp.api.bz #设置时间同步
管道命令(|)
管道把左侧程序的输出作为右侧程序的输入
命令A | 命令B
把命令A的输出作为命令B的输出
命令A | 命令B | 命令C
最常用的就是配合grep来使用
|| /etc/ | less
|| /etc/ | grep passwd
grep命令
使用正则表达式的搜索工具
grep命令用法
printenv | grep path
环境变量中寻找小写path
printenv | grep -i path
寻找path,不区分大小写
grep -ir java
在当前和所有子目录中的任何文件中查找java
grep -ir java file1
在file1中找到python
搜索查找命令 -find
从指定目录向下递归地遍历其各个子目录
find命令可根据name、user、size、type、创建时间等进行搜索
find命令经常和grep命令结合使用
#根据目录访问所有目录查找'tar'
[root@linux01 ~]# find / -name 'tar'
#查找文件名以kgc开头且包含new的文件
[root@linux01 ~]# find / -name 'kgc*' | grep -i new
/var/spool/mail/kgcnew
搜索查找命令 -locate
用于查找符合条件的文档
会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录
和find -name功能类似,但比find要快
[root@linux01 ~]# touch newfile.txt
[root@linux01 ~]# locate newfile.txt #新建的文件无法马上查到
[root@linux01 ~]# updatedb
[root@linux01 ~]# locate newfile.txt
/root/newfile.txt
[root@linux01 ~]#
搜索查找命令 - which和whereis
which用于查找可执行文件所在位置
which bash
which pwd
whereis用于查找二进制文件、源代码文件和man手册页,一般文件还是用locate
whereis bash
whereis help
I/O Stream
标准流
stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止
stdout:标准输出,编号为1,用于程序向终端等设备写入数据
stderr:标准错误,编号为2,用于向终端等设备显示错误消息
重定向I/O Stream到文件
ls命令查看主目录和/Toronto目录,将stdout和stderr重定向到主目录中的out.txt和err.txt
ls ~ /Toronto > ~/out.txt 2> ~/err.txt
使用cat显示上述out.txt和err.txt
cat < ~/out.txt
cat < ~/err.txt
文本处理命令 - wc
wc命令用于计算字数
文本处理命令 - cut
切割文件命令
设置特定切割符,取特定的列
查找特定数量的字符
#输出的日期格式按空格分割,取出2,3,6位
date -u | cut -d ' ' -f2,3,6
#此示例从文件/etc/mtab中读取数据
cut -d ' ' -f1,2 /etc/mtab
#查找特定数量的字符
cut -c 1-5 logs.txt
文本处理命令 - tr
用于替换或删除文件中的字符
不会对源文件产生影响
date -u | tr 'a-z' 'A-Z' # 小写转大写
echo 'abcdefg' | tr -d 'b-e' # 删除
echo 'abbbbg' | tr -s 'b' # 重复单词显示一次
文本处理命令 - sed
sed 行编辑器
主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等
能够完美的配合正则表达式便用
# 替换
sed 's/book/books/' file
sed 's/book/books/g' file
# 删除空白行:
sed '/^$/d' file
文本处理命令 - awk
awk是一种处理文本文件的语言,是一个强大的文本分析工具
awk [选项] '脚本命令' 文件名
# 每行按空格或TAB分割,输出文本中的1、4项
awk '{print $1,$4}' log.txt
# 使用","分割,-F相当于内置变量FS, 指定分割字符
awk -F, '{print $1,$2}' log.txt
其他常用命令 - file
用来识别文件类型
用法
file zipfile.py
file -z zipFile
file /dev/null
其他常用命令 - ln命令
在文件之间建立链接
ln 创建一个硬链接
不能对目录创建硬链接
ln -s 创建软链接
可以对目录创建软连接,相当于快捷方式
ln -s /root root1
ln -s file1.txt f1
其他常用命令 - ping
用于测试与目标主机的连通性
ping www.baidu.com
ping 192.168.42.1
其他常用命令 - crond
crond服务管理
systemctl status crond
systemctl stop crond
systemctl start crond
systemctl restart crond
crontab定时任务设置
crontab -e * * * * *
# * * * * * 定时任务内容
# * * * * * 分别代表:分钟 小时 日 月 星期