作为软件开发工程师,你不得不会的32个Linux命令(下)

简介: 做软件开发的朋友,相信大家或多或少都接触过Linux,知道Linux中的命令是非常多的,但是我们也不必因此而烦恼,因为我们只需要掌握常用的命令,就可以满足我们日常工作开发了。下面汇总了果冻做开发以来最常用的32个命令,分享给有需要的朋友。

26、tar-对文件压缩解压缩

该命令用于对文件进行打包,默认情况并不会压缩,如果指定了相应的参数,它还会调用相应的压缩程序(如gzip和bzip等)进行压缩和解压。它的常用参数如下:

  • -c :新建打包文件
  • -t :查看打包文件的内容含有哪些文件名
  • -x :解打包或解压缩的功能,可以搭配-C(大写)指定解压的目录
  • -j :通过bzip2的支持进行压缩/解压缩
  • -z :通过gzip的支持进行压缩/解压缩
  • -v :在压缩/解压缩过程中,将正在处理的文件名显示出来
  • -f filename :filename为要处理的文件
  • -C dir :指定压缩/解压缩的目录dir

注意:-c,-t,-x不能同时出现在同一条命令中

通常我们只需要记住下面几条命令即可:

# 压缩
tar -jcv -f filename.tar.bz2 要被处理的文件或目录名称  
# 查询
tar -jtv -f filename.tar.bz2  
# 解压
tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录  
# 注:上面文件名并不定要以后缀tar.bz2结尾,这里主要是为了说明使用的压缩程序为bzip2
# 解压elasticsearch-5.5.2.tar.gz
tar -zxvf elasticsearch-5.5.2.tar.gz
复制代码


27、zip/unzip/gzip/gunzip-对文件压缩解压缩

用于压缩、解压缩文件,zip 压缩的后文件是 *.zip ,而 gzip 压缩后的文件 *.gz,相应的解压缩命令则是 gunzip 和 unzip。

# 将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
zip -q -r html.zip /home/html
# 如果在我们在 /home/html 目录下,可以执行以下命令:
zip -q -r html.zip *
# 从压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c
# 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件
zip -r myfile.zip ./*
# 把myfile.zip文件解压到 /home/bunny/
# -o:不提示的情况下覆盖文件
# -d:-d /home/bunny 指明将文件解压缩到/home/bunny目录下
unzip -o -d /home/bunny myfile.zip
# 它会将文件压缩为文件 test.txt.gz,原来的文件则没有了,解压缩也一样 
gzip test.txt 
# 它会将文件解压缩为文件 test.txt,原来的文件则没有了,为了保留原有的文件,
# 我们可以加上 -c 选项并利用 linux 的重定向 
gunzip test.txt.gz 
# 这样不但可以将原有的文件保留,而且可以将压缩包放到任何目录中,解压缩也一样 
gzip -c test.txt > /root/test.gz
# 解压缩
gunzip -c /root/test.gz > ./test.txt 
复制代码


28、adduser/useradd/userdel-增加删除用户

adduser/useradd为创建用户命令,使用权限:系统管理员,root用户。常用参数说明如下

  • -c comment:加上备注文字。备注文字会保存在通常是 /etc/passwd)的备注栏位中。 
  • -d home_dir:设定使用者的根目录为 home_dir ,预设值为预设的 home 后面加上使用者帐号
  • -e expire_date:设定此帐号的使用期限(格式为 YYYY-MM-DD),预设值为永久有效
  • -f inactive_time:帐号过期几日后永久停权。当值为0时帐号则立刻被停权。而当值为-1时则关闭此功能,预设值为-1
  • -g <群组>:指定用户所属的群组。
  • -r :建立一个系统的帐号,这个帐号的 UID 会有限制 (/etc/login.defs)
# 添加一个一般用户
useradd kk # 添加用户kk
# 为添加的用户指定相应的用户组
useradd -g root kk # 添加用户kk,并指定用户所在的组为root用户组
# 创建一个系统用户
useradd -r kk # 创建一个系统用户kk
# 为新添加的用户指定/home目录
useradd -d /home/myf kk //新添加用户kk,其home目录为/home/myf
# 当用户名kk登录主机时,系统进入的默认目录为/home/myf
复制代码

用户删除命令:userdel,语法如下:

userdel [login ID]
复制代码

删除用户kk:

userdel kk
复制代码


29、passwd-修改用户密码

更改使用者的密码,常用参数如下:

  • -d:删除密码
  • -l:停止账号使用
  • -S:显示密码信息
  • -u:启用已被停止的账户
  • -x:设置密码的有效期
  • -g:修改群组密码
  • -i:过期后停止用户账号
# 修改用户密码
passwd runoob  # 设置runoob用户的密码
# 显示账号密码信息
passwd -S runoob
# 删除用户密码
passwd -d lx138 
复制代码


30、time-测算一个命令的执行时间

该命令用于测算一个命令的执行时间。就像平时输入命令一样,不过在命令的前面加入一个time即可。

在程序或命令运行结束后,在最后输出了三个时间,它们分别是:

  • user:用户CPU时间,命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
  • system:系统CPU时间,命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和;
  • real:实际时间,从command命令行开始执行到运行终止的消逝时间;
time ./process.sh # 查看process.sh脚本执行时间
time ps aux # 查看ps aux命令的执行时间
复制代码


31、free-显示内存的使用情况

显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以及系统核心使用的缓冲区等。

参数说明

  • -b:以Byte为单位显示内存使用情况。
  • -k:以KB为单位显示内存使用情况。
  • -m :以MB为单位显示内存使用情况。
  • -g :以GB为单位显示内存使用情况。
  • -o :不显示缓冲区调节列。
  • -s <间隔秒数>:持续观察内存使用状况。
  • -t:显示内存总和列。
# 显示内存使用情况
free # 显示内存使用信息
# 以总和的形式显示内存的使用信息
free -gt # 以总和的形式查询内存的使用信息,以GB为单位
# 周期性的查询内存使用信息
free -g -s 10 # 每10s执行一次命令,以GB为单位
复制代码


32、crontab-定时任务

用来定时的去跑一些脚本或者程序,linux内置的cron进程能帮我们实现这些需求,精确到分,设计秒的我们一般自己写脚本。

相关配置文件说明:

  • /var/spool/cron/目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab 这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

常用参数说明:

  • -u :省略该参数,表示操作当前用户的crontab
  • -e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
  • -l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
  • -r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
  • -i:在删除用户的crontab文件时给确认提示

注意:-r,-i尽量不要执行

常见操作命令如下:

crontab -e  # 编辑定时任务
* * * * * sh /opt/lampp/test.sh   # 每分钟执行一次test.sh,crontab使用
crontab -l  # 查看定时任务
* * * * * sh /opt/lampp/test.sh
# 重启定时任务进程crond
service crond reload
# 查看日志
# /var/log/cron只会记录是否执行了某些计划的脚本
sudo tail -100f /var/log/cron
复制代码

定时任务配置实例如下:

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
# 每1分钟执行一次myCommand
* * * * * myCommand
# 每小时的第3和第15分钟执行
3,15 * * * * myCommand
# 在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand
# 每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * myCommand
# 每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand
# 每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
# 每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
# 每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
# 每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
# 每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
# 每一小时重启smb
* */1 * * * /etc/init.d/smb restart
# 晚上11点到早上7点之间,每隔一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart
相关文章
|
7天前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
67 6
|
8天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
34 3
|
8天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
26 2
|
3天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
20 3
|
8天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
30 3
|
11天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
40 6
|
11天前
|
缓存 网络协议 Linux
Linux ip命令常用操作
Linux的 `ip`命令是一个强大且灵活的网络管理工具,能够执行从基本的网络接口配置到高级的路由和VLAN管理等多种操作。通过熟练掌握这些常用操作,用户可以更加高效地管理和配置Linux系统的网络环境。无论是在日常管理还是故障排除中,`ip`命令都是必不可少的工具。
13 2
|
16天前
|
缓存 监控 Linux
|
19天前
|
Linux Shell 数据安全/隐私保护
下一篇
无影云桌面