https://linuxtools-rst.readthedocs.io/zh_CN/latest/index.html
Linux 常用命令全拼
unix 时间戳是什么?
unix 时间戳是以运行总秒数来跟踪时间的一种方法。这个计数从 1970 年 1 月 1 日 UTC 的 Unix Epoch 开始。因此,unix 时间戳只是特定日期和 Unix Epoch 之间的秒数。还应该指出(感谢本网站访问者的评论),无论你位于世界何处,这个时间点在技术上都不会改变。这对于计算机系统在线和客户端的动态和分布式应用程序中跟踪和分类过时的信息非常有用。
linux远程工具
网络配置将由网络管理器(nmcli&nmtui)控制
以及centos8中去除的Network Scripts files(ifcfg-*)
cat /etc/sysconfig/network-scripts/ifcfg-ens33
yum update版本回退
如何在CentOS / RHEL服务器上使用yum history命令回滚更新
让我们获取用于更新的交易ID
yum history list all
使用下面的yum命令来查找根据交易ID实际更新的内容
yum history info ID
版本回退
yum history undo ID
cron
Crontab语法生成器https://crontab-generator.org/
cron工具允许Linux用户在特定的日期和时间执行命令或脚本。执行常规任务(例如常规备份,每日扫描,/ tmp目录清理以及在给定时间重新启动系统)非常有用。
https://www.linuxtechi.com/schedule-automate-tasks-linux-cron-jobs/
所有cron jobs 都存储在/var/spool/cron(对于RHEL和CentOS发行版)和/var/spool/cron/crontabs(对于Debian和Ubuntu发行版)中,
cron jobs 使用创建该文件的用户的用户名列出
ll /var/spool/cron
cron daemon 在后台静默运行,检查/etc/crontab文件以及/var/spool/cron和/etc/cron.d*/目录
Linux crontab具有六个字段,前五个字段(1-5)指示执行的日期和时间,第六个字段用于执行命令或脚本
重要的cron命令,这些命令可以帮助用户轻松管理cron
corntab -e # 编辑器中打开crontab文件,并允许用户在其中添加或删除条目
corntab -l # 列出已登录用户的crontab条目
corntab -r # 删除登录用户的crontab条目
根据 Linux 惯例,字母d是守护进程(daemon)的缩写。 Systemd 这个名字的含义,就是它要守护整个系统。
Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。Unit 一共分成12种:
Service unit:系统服务、
每一个 Unit 都有一个配置文件,告诉 Systemd 怎么启动这个 Unit 。
Systemd 默认从目录/etc/systemd/system/读取配置文件。但是,里面存放的大部分文件都是符号链接,指向目录/usr/lib/systemd/system/,真正的配置文件存放在那个目录
systemctl enable 命令用于在上面两个目录之间,建立符号链接关系。
enabled:已建立启动链接
disabled:没建立启动链接
static:该配置文件没有[Install]部分(无法执行),只能作为其他配置文件的依赖
masked:该配置文件被禁止建立启动链接
如何在CentOS和RHEL中启用或设置EPEL存储库
EPEL代表“Extra Packages for Enterprise Linux”
顾名思义,epel为RHEL,CentOS,Scientific Linux(SL)和Oracle Enterprise Linux(OLE)提供了其他rpm软件包。EPEL由Fedora社区创建和维护,EPEL软件包是100%免费/自由的开源软件(FLOSS)。
对于CentOS 7.X / RHEL 7.X
以root用户打开终端执行以下命令
yum install epel-release
注意:EPEL存储库文件位于“/etc/yum.repos.d/epel.repo”下
列出新的存储库
yum repolist
获取包信息
yum info htop
从epel repo安装软件包
yum install htop
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/
红帽
大多数服务器默认都会启用某些服务。这些服务可以允许您利用服务器上的多种功能,但是,如果没有利用这些额外的服务,则最好将其禁用
list-unit-files”向您显示了文件系统上实际存在的所有单位文件(无论是服务文件,套接字文件等),无论是否加载
systemctl list-unit-files --type=service | grep enabled
运行
systemctl | grep running
禁用服务
systemctl disable bluetooth
更新对于确保系统的安全至关重要,一个shell脚本,指示yum更新通过cron找到的所有软件包:
vi /etc/cron.daily/yumupdate.sh
#!/bin/bash
YUM=/usr/bin/yum
$YUM -y -R 120 -d 0 -e 0 update yum
$YUM -y -R 10 -e 0 -d 0 update
第一个命令将自己更新yum,下一个命令将应用系统更新。
-R 120:设置yum在执行命令之前等待的最长时间
-e 0:将错误级别设置为0(范围0 – 10)。 0表示仅打印必须告知您的严重错误。
-d 0:将调试级别设置为0 –增大或减小打印的内容。 (范围:0 – 10)。
-y:假设是; 假设将要回答的任何问题的答案是肯定的。
确保您设置了可执行权限:
#chmod + x /etc/cron.daily/yumupdate.sh
chage命令列出并更改Linux用户帐户的密码过期信息
chage -l命令列出了用户的特定信息
chage -l user
chage -M命令修改了密码再次过期之前的天数值
退出telnet
先打转义字符'^]'即CTRL+] ,再打quit
过滤空行和注释,并显示行号
E:正则,n:显示行号,v:反转查看cpu、内存、使用情况: vmstat n m (n 为监控频率、m为监控次数)
查看磁盘空间 df -h
查看目录大小 du -sh
打包 tar -cvf
解包 tar -xvf
压缩 gzip
解压缩 ungzip bzip
查询正在运行的进程信息
$ps -ef
Linux 查看端口占用情况可以使用 lsof 和 netstat 命令
lsof(list open files)是一个列出当前系统打开文件的工具
lsof -i:端口号
lsof -i:8080:查看8080端口占用进程状态
netstat
用于显示 tcp,udp 的端口和进程等相关情况
netstat -tunlp | grep 端口号
netstat -ntlp //查看当前所有tcp端口
netstat -ntulp | grep 80 //查看所有80端口使用情况
netstat -ntulp | grep 3306 //查看所有3306端口使用情况
kill
在查到端口占用的进程后,如果你要杀掉对应的进程可以使用 kill 命令:
杀死指定PID的进程 (PID为Process ID)
$kill PID
杀死相关进程
kill -9 PID
使用命令pmap,来输出进程内存的状况,可以用来分析线程堆栈
$pmap PID
>/dev/null 2>&1
作用就是让标准输出重定向到/dev/null中(丢弃标准输出),然后错误输出由于重用了标准输出的描述符,所以错误输出也被定向到了/dev/null中,错误输出同样也被丢弃了
查看文件内容:cat vi head tail more
目录的创建、删除、移动、复制: mkdir rm mv cp
文件的查询: find
管道和重定向: ; | && || >
wc 统计行和字符的工具
$wc -l file // 统计行数
$wc -w file // 统计单词数
$wc -c file // 统计字符数
给文件增加别名 创建符号链接/硬链接:
ln -s cc ccTo :符号链接(软链接);删除源,另一个无法使用;(后面一个ccTo 为新建的文件)
ln cc ccAgain :硬连接;删除一个,将仍能找到;
管道和重定向
| 批处理命令连接执行
; 串联使用分号
&& 前面成功,则执行后面一条,否则,不执行
|| 前面失败,则执行后一条
ls /proc && echo suss! || echo failed.
与上述相同效果的是:
if ls /proc; then echo suss; else echo fail; fi
查找record.log中包含AAA,但不包含BBB的记录的总数:
cat -v record.log | grep AAA | grep -v BBB | wc -l
awk 文本处理工具 数据流处理工具
echo -e "line1\nline2" | awk 'BEGIN{print "start"} {print } END{ print "End" }'
sed 查找更改 文本替换利器
echo this is a text | sed -i 's/text/repalce_text/g'
默认替换后,输出替换后的内容,如果需要直接替换原文件,使用-i
sed -i 's/text/repalce_text/g' file
cut 过滤字段
dmesg
被用于检查和控制内核的环形缓冲区,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看,开机信息保存在/var/log/dmesg文件里。
vimtutor
进入VIM教程
top
Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
ll /proc/pid/exe
通过top查到进程的pid去定位程序目录
了解Linux / etc / passwd文件格式
1.history命令
history命令可以查看历史命令
2.history的用法
语法:
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
显示或操纵历史列表。
带行号显示历史列表,将每个被修改的条目加上前缀 `*'。
参数 N 会仅列出最后的 N 个条目。
选项:
-c 删除所有条目从而清空历史列表。
-d 偏移量 从指定位置删除历史列表。
-a 将当前绘画的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中
中
-w 将当前历史写入到历史文件中
并追加到历史列表中
-p 对每一个 ARG 参数展开历史并显示结果
而不存储到历史列表中
-s 以单条记录追加 ARG 到历史列表中
如果给定了 FILENAME 文件名,则它将被作为历史文件。否则
如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bash_history 文件。
如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于
strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的时
间戳,否则不打印时间戳。
退出状态:
返回成功,除非使用了无效的选项或者发生错误
3.history的历史命令保存文件
history默认保存1000条历史命令。历史命令保存在家目录下的 .bash_history 。
1000条历史命令的规则设置在 /etc/profile 的 HISTSIZE 的变量里。
通过 echo $HISTSIZE 可以查看保存的历史命令条数。
4.定义历史命令的执行时间
在 /etc/profile 里面定义一个变量 HISTTIMEFORMAT 并在后面加上时间格式的参数。
# vim /etc/profile
HISTTIMEFORMAT="%Y/%m/%d %H:%M:%S "
HISTSIZE=1000
# source /etc/profile
# history
699 2017/09/30 16:46:05 source /etc/profile
700 2017/09/30 16:46:29 history
5.永久保存所有的历史命令
给 ~/.bash_history 加一个特殊的a权限,就不能对文件进行删除的操作了。
# chatty +a ~/.bash_history
6.快捷命令的使用
!!:上一条命令
!n:n为数字,history的序列里的第n条命令,
!cmd:最近一次cmd这个命令开头的命令
评论
发表评论