请多多支持博主,点赞关注一起进步哦~
Linux根据原生程度,分为两种:
在Linux操作系统中,所有被操作系统管理的资源,例如网络接口卡、磁盘驱动器、打印机、输入输出设备、普通文件或是目录都被看作是一个文件。
也就是说在LINUX系统中有一个重要的概念:一切都是文件。其实这是UNIX哲学的一个体现,而Linux是重写UNIX而来,所以这个概念也就传承了下来。在UNIX系统中,把一切资源都看作是文件,包括硬件设备。UNIX系统把每个硬件都看成是一个文件,通常称为设备文件,这样用户就可以用读写文件的方式实现对硬件的访问。
Linux的目录结构如下:
Linux文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录:
常见目录说明:
cd usr
: 切换到该目录下usr目录cd ..(或cd../)
: 切换到上一层目录cd /
: 切换到系统根目录cd ~
: 切换到用户主目录 (root用户就是/root,普通用户就是/home)cd -
: 切换到上一个操作所在目录cd /tmp/test
: 使用绝对路径切换cd test
: 使用相对路径mkdir 目录名称
: 增加目录
示例:
ls或者ll
:(ll是ls -l的别名,ll命令可以看到该目录下的所有目录和文件的详细信息):查看目录信息
参数:
find 目录 参数
: 寻找目录(查)
pwd
: 查看所在目录位置
示例:
find .
/home
目录下查找以.txt结尾的文件名:find /home -name "*.txt"
find /home -iname "*.txt"
find . \( -name "*.txt" -o -name "*.pdf" \)
或find . -name "*.txt" -o -name "*.pdf"
mv 目录名称 新目录名称
: 修改目录的名称(改)
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作。mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。后面会介绍到mv命令的另一个用法。
mv 目录名称 目录的新位置
: 移动目录的位置—剪切(改)
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作。另外mv与cp的结果不同,mv好像文件“搬家”,文件个数并未增加。而cp对文件进行复制,文件个数增加了。
cp -r 目录名称 目录拷贝的目标位置
: 拷贝目录(改),-r代表递归拷贝
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不 用写-r递归
参数:
rm [-rf] 目录
: 删除目录(删)
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了增强大家的记忆, 无论删除任何目录或文件,都直接使用rm -rf
目录/文件/压缩包
参数:
touch 文件名称
: 文件的创建(增)
创建文件 可以一次创建多个文件,以空格隔开
cat/more/less/tail 文件名称
: 文件的查看(查)
-n:带行号
cat
: 查看显示文件内容more
: 分页查看文件内容: 可以显示百分比,回车可以向下一行, 空格可以向下一页,q可以退出查看less
: 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看head -n
: 查看文件前n行。缺省-n显示前10行tail-10
: 查看文件的后10行,Ctrl+C结束注意:命令 tail -f 文件 可以动态显示文件末尾内容,对某个文件进行动态监控,例如tomcat的日志文件, 会随着程序的运行,日志会变化,可以使用tail -f catalina-2016-11-11.log 监控文件的变化
in
: 链接命令
-s创建软连接
硬链接和cp -p的区别是硬链接会同步更新
源文件如果丢失,硬链接依然存在。
硬链接和源文件的i节点相同。
硬链接不能夸分区,软连接可以跨分区。
硬链接不可以链接目录,链接可以
软连接文件具有的权限是ugo都是rwx
rm -rf 文件
: 删除文件(删)
同目录删除:熟记 rm -rf
文件 即可
vim编辑器是Linux中的强大组件,是vi编辑器的加强版,vim编辑器的命令和快捷方式有很多,但此处不一一阐述,大家也无需研究的很透彻,使用vim编辑修改文件的方式基本会使用就可以了。
在实际开发中,使用vim编辑器主要作用就是修改配置文件,下面是一般步骤:
vim 文件------>进入文件----->命令模式------>按i进入编辑模式----->编辑文件 ------->按Esc进入底行模式----->输入:wq/q! (输入wq代表写入内容并退出,即保存;输入q!代表强制退出不保存。)
i,a
: 命令模式–>编辑模式ecs
: 编辑模式–>命令模式(底行模式)q!
: 强制退出q
: 退出wq
: 保存并退出 (wq以及wq!,则不管有没有修改,都会强制更新修改时间,有时没修改的东西会让人误以为改了)wq!
: 保存并强制退出x
: 保存并退出(个人推荐使用,:x在由修改操作时会保存并退出,更新修改时间)set nu
: 显示行号 set nonu
: 取消行号gg
: 跳转到第一行G
: 跳转到最后一行100G
: 跳转到指定行,如100G就是第100行,nG:第n行/要查找的内容
: 查找yy
: 复制当前行p
: 粘贴到当前所在行的下一行
:开始行号,结束行号s/查找的单词/替换的单词
1,3s/f/XXX
: 替换1到3行的f为XXX1,$s/f/YYY
: 替换1到所有行的f为YYY%s/aaa/bbb/gc
意思就是检索所有行,挨个询问替换aaa为bbb,手动判断y是替换,n是不替换,a是替换所有,q是退出。
u
: 撤销操作whoami
: 查看当前登录的用户who
: 查看当前的账户 显示的格式为: 登录用户名 登录终端(tty:本地登录 pts:远程终端) 登录时间 ip地址w
: 查看更详细的用户登录信息。groups
: 查看当前用户所在的组id
: 查看当前登录的用户的uid和groupidvim /etc/passwd
: 查看所有的用户列表vim/etc/group
: 查看所有的组列表su [用户名]
su zhangsan
su
:默认切换到rootuseradd 用户名
:新建一个用户,一个同名的组,/home/同名的文件夹(uid,gid自增)useradd -u 用户id 用户名
useradd -b /路径 用户名
useradd -g 用户组 用户名
: 新建用户,放到指定的用户组中passwd 用户名
userdel lisi
: 仅删除用户userdel -r Wangwu
: 删除用户以及目录(-r将关联的文件一并删除)userdel -rf wangwu
: 删除登录用户以及目录:(-f强制)groupadd 组名
groupadd -g 组id 组名
usermod -l 新的登录名 old 登录名
: 修改登录名usermod -g 新组名 登录名
: 修改用户所在的组Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
Linux用户管理相关命令:
useradd 选项 用户名
:添加用户账号userdel 选项 用户名
:删除用户帐号usermod 选项 用户名
:修改帐号passwd 用户名
:更改或创建用户的密码passwd -S 用户名
:显示用户账号密码信息passwd -d 用户名
: 清除用户密码useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名称,一般用户只能变更自己的密码。
每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
Linux系统用户组的管理相关命令:
groupadd 选项 用户组
:增加一个新的用户组groupdel 用户组
:要删除一个已有的用户组groupmod 选项 用户组
: 修改用户组的属性操作系统中每个文件都拥有特定的权限、所属用户和所属组。权限是操作系统用来限制资源访问的机制,在Linux中权限一般分为读(readable)、写(writable)和执行(excutable),分为三组。分别对应文件的属主(owner),属组(group)和其他用户(other),通过这样的机制来限制哪些用户、哪些组可以对特定的文件进行什么样的操作。通过 ls -l
或 ll
命令我们可以查看某个目录下的文件或目录的权限
示例:在随意某个目录下 ls -l
或 *ll
下面将详细讲解文件的类型、Linux中权限以及文件有所有者、所在组、其它组具体是什么?
文件的类型:
Linux中权限分为以下几种:
文件和目录权限的区别:
对文件和目录而言,读写执行表示不同的意义。
对于文件:
权限名称 | 可执行操作 |
---|---|
r | 可以使用cat查看文件的内容 |
w | 可以修改文件的内容 |
x | 可以将其运行为二进制文件 |
对于目录:
权限名称 | 可执行操作 |
---|---|
r | 可以查看目录下列表 |
w | 可以创建和删除目录下文件 |
x | 可以使用cd进入目录 |
需要注意的是超级用户可以无视普通用户的权限,即使文件目录权限是000,依旧可以访问。
在linux中的每个用户必须属于一个组,不能独立于组外。在linux中每个文件有所有者、所在组、其它组的概念。
所有者(user(owner) u)
一般为文件的创建者,谁创建了该文件,就天然的成为该文件的所有者,用ls ‐ahl命令可以看到文件的所有者 也可以使用chown 用户名 文件名来修改文件的所有者 。
文件所在组(group g)
当某个用户创建了一个文件后,这个文件的所在组就是该用户所在的组 用ls ‐ahl命令可以看到文件的所有组 也可以使用chgrp 组名 文件名来修改文件所在的组。
其它组(other o)
除开文件的所有者和所在组的用户外,系统的其它用户都是文件的其它组
我们再来看看如何修改文件/目录的权限。
chmod
: 修改文件/目录的权限的命令
示例:修改/test下的aaa.txt的权限为属主有全部权限,属主所在的组有读写权限,
其他用户只有读的权限
chmod u=rwx,g=rw,o=r aaa.txt
上述示例还可以使用数字表示:
chmod 764 aaa.txt
综合实例:
chmod u+x a.txt
chmod g+w,o-r a.txt
//同时做多个权限的修改chmod g=rwx a.txt
chmod 640 a.txt
chmod -R 777 testdir
//把目录和下面所有文件的权限chmod u-x,g-r,o+x test
只修改当前文件夹的权限,子文件不变chmod -R u-x,g-r,o+x test
递归修改文件夹的权限chwon
: 更改文件所有者,只有root可以更改.
修改拥有者:拥有组–》chown (change owner)
语法:
chown -R 拥有者:拥有组 文件夹
chown root a.txt
//把a.txt更改为root所有
【问题】如果普通用户,出现了对文件没有访问权限,如何解决?
chgrp
: 更改所属组
chgrp admin biubiubiu
//把biubiubiu的所属组更改为admin
umask -S
查看创建文件的缺省权限,即默认权限
umask 023
: 修改文件的缺省权限为777-023=754。即-rwxr-xr–
/etc/sudoers
chmod u+w /etc/sudoers
hadoopenv ALL=(ALL)NOPASSWD:ALL
sudo mkdir xx
chmod u-w /etc/sudoers
补充一个比较常用的东西:
假如我们装了一个zookeeper,我们每次开机到要求其自动启动该怎么办?
chmod +x zookeeper
chkconfig --add zookeeper
chkconfig --list
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包压缩的文件
其中:
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
比如:假如test目录下有三个文件分别是:aaa.txt bbb.txt ccc.txt,如果我们要打包test目录并指定压缩后的压缩包名称为test.tar.gz可以使用命令:tar -zcvf test.tar.gz aaa.txt bbb.txt ccc.txt
或:tar -zcvf test.tar.gz /test/
命令:tar [-xvf] 压缩文件
其中:x:代表解压
示例:
1 将/test下的test.tar.gz解压到当前目录下可以使用命令:tar -xvf test.tar.gz
2 将/test下的test.tar.gz解压到根目录/usr下:tar -xvf test.tar.gz -C /usr
(- C代表指定解压的位置)
.gz格式
gzip 文件名
只能压缩文件不能压缩目录,压缩完源文件也不见了gunzip/gzip -d 压缩包名称
tar:
tar -zcvf 压缩后文件名 打包的目录
:生成.tar.gz文件 注:这个命令先用tar归档,然后把归档的包压缩成.gztar -zxvf 要解压的文件名
:解压缩.tar.bz2的文件tar -jcvf 压缩后的文件名 打包的目录
:生成.tar.bz2 注:这个命令先用tar归档,然后把归档的包压缩成.bz2tar -jxvf 要解压的文件名
:解压.tar.bz2的文件zip:
zip -r 压缩生成的文件名 要压缩的目录
zip 压缩生成的文件名 要压缩的文件
unzip:
unzip 要解压缩的文件
bzip2:
bzip2 -k 要压缩的文件名
-k选项:保留源文件bunzip2 -k 要解压的文件名
-k选项:保留压缩包find:搜索制定范围内的文件
find [搜索范围] [匹配条件]
[匹配条件] 参数:
-name
按文件名搜索
-iname
根据文件名查找,不区分大小写
-size
+n大于 -n小于 n等于 这个n是数据块,在Linux中一个数据块是512字节大小
-user
根据所有者查找
-group
根据所属组查找
根据文件属性查找:
-amin
访问时间 access-cmin
根据文件属性被修改的时间 change-mmin
根据文件内容被修改的时间 modify-a
两个条件同时满足
find /etc -size +10 -a -size -50
-o
两个条件满足一个即可
-type
f 文件 d 目录 l软连接文件
-inum
根据i节点查找
对找到的结果进行操作
-exec
或者 -ok
命令 {} ;
例如:
find /etc -name init* -exec ls -l {} ; 对找到的文件名按列表查看
例子:
locate:
1、查找速度非常快,因为它维护了一个文件库。
2、缺点就是新建立的文件没有很快收录到文件库
locate 文件名
updatedb
更新locate的文件资料库 文件资料库不收录/tmp下的文件-i
不区分大小写示例:
# 更新数据,新建文件后,需要使用此命令
updatedb
# 在系统上查找所有包含vimrc的文件
locate vimrc
# 使用正则表达式
locate --regexp vim*
which :查找命令的目录以及别名
which 命令
[root@biubiubiu /]# which vi
alias vi='vim'
/usr/bin/vim
whereis :搜索命令所在目录及帮助文档路径
whereis 命令
[root@biubiubiu /]# whereis vi
vi: /usr/bin/vi /usr/share/man/man1/vi.1.gz /usr/share/man/man1p/vi.1p.gz
grep:在文件中搜寻字符串匹配的行并输出,多个文件以空格隔开
参数:
示例:
#多文件查询
grep leo logs.log logs_back.log
#查找即包含leo又包含li的行
grep leo logs.log | grep li
#查找匹配leo或者匹配li的行
grep leo | li logs.log
#显示匹配行前2行
grep leo logs.log -A2
#显示匹配行后2行
grep leo logs.log -B2
#显示匹配行前后2行
grep leo logs.log -C2
#不区分大小写
grep -i leo logs.log
#使用正则表达式
grep -e '[a-z]\{5\}' logs.log
#查找不包含leo的行
grep -v leo logs.log
#统计包含leo的行数
grep -c leo logs.log
#遍历当前目录及所有子目录查找匹配leo的行
grep -r leo .
#在当前目录及所有子目录查找所有java文件中查找leo
grep -r leo . --include "*.java"
#查找并输出到指定文件
grep leo logs.log > result.log
#查找以leo开头的行
grep ^leo logs.log
#查找以leo结尾的行
grep leo$ logs.log
#查找空行
grep ^$ logs.log
man:查看命令或者配置文件的帮助信息
man 命令/配置文件
在手册里面,可以输入/要查找的str
man ls
man services
man fstab
//直接输入配置文件的名字,而不需要使用绝对路径 重点查看name选项和配置文件的格式。
如果一个命令即使命令又是配置文件,那么可以使用一个序号进行区分,比如:
man 1 passwd
查看命令passwd的帮助
man 5 passwd
查看配置文件passwd的帮助
whatis 命令:得到命令的简要信息
[root@biubiubiu /]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents
[root@biubiubiu /]# whatis id
id (1) - print real and effective user and group IDs
id (1p) - return user identity
[root@biubiubiu /]#
apropos 配置文件名:查看配置文件的简短信息
[root@biubiubiu etc]# apropos yum.conf
yum-config-manager (1) - manage yum configuration options and yum repositories
yum.conf (5) - Configuration file for yum(8).
[root@biubiubiu etc]#
help 命令:
write:给在线用户发送信息,用户不在线不行。以Ctrl+D保存
write 用户名
wall:给所有用户名发送信息
wall 要发送的信息
ping:测试网络连通性
ping ip地址
参数:
-c
: 要ping的次数
ifconfig
: 直接回车查看当前网卡信息
ifconfig 网卡名 ip地址
: 临时修改网络ip
示例:
ifconfig th0:0 192.168.1.100 netmask 255.255.255.0
给th0这个网卡新添加一个ip
ifconfig eth0:0 down
ifconfig eth0:0 up
ifdown th0
: 禁用th0这块网卡
ifup th0
: 开启th0这块网卡
mail:邮件命令
mail 要发送的用户名
mail 直接回车
: 查看命令
参数:
help :查看支持的命令格式
输入序列号:查看邮件详细内容
h: 回到邮件列表
d 序列号:删除序列号对应的邮件
nslookup:查看网站ip地址
nslookup www.baidu.com
: 查看百度的ip地址
netstat
:显示网络相关信息
参数:
netstat -tlun
:查看本机监听的端口
netstat -an
:查看所有的监听信息
netstat -rn
:查看路由表,即网管
wget 文件地址
: 下载文件
参数:
实例:
wget http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz
: 下载单个文件wget -i fileList
: 下载多个文件(fileList里需要有多个url)wget -c http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz
: 断点下载wget -b http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz
: 后台下载wget --limit-rate=400k http://search.maven.org/remotecontent?filepath=log4j/log4j/1.2.17/log4j-1.2.17.tar.gz
: 限速400k下载service network restart
:重启网络服务。
telnet 域名或ip
远程管理与端口探测
如: telnet 192.168.2.3:80
探测192.168.2.3是否开启了80端口
mount:挂载命令
mount -t iso9660 /dev/sr0 /mnt/cdrom
:把sr0挂载到cdrom
shutdown
:这个关机命令更安全一些,不推荐使用其他关机命令。
-h
:关机
shutdown -h now
: 立刻关机
shutdown -h 20:30
: 八点半关机
-r
:重启
shutdown -r now
: 相当于reboot,立刻重启
-c
:取消上次的关机命令
shutdown -c
: 取消
reboot
等于 shutdown -r now
: 立刻重启
logout
:退出当前用户,返回到登录界面
ctrl+c
:强制终止当前命令ctrl+l
:清屏ctrl+a
:光标移动到命令行首ctrl+e
:光标移动到命令行尾ctrl+u
:从光标所在位置删除到行首ctrl+z
:把命令放入后台ctrl+r
:在历史命令中搜索yum list
:获取服务器上所有可用的软件的列表yum search 关键字
:搜索服务器上所有和关键字相关的包yum -y install 包名
:安装软件包yum -y update 包名
:升级软件包yum -y remove 包名
:卸载软件包yum grouplist
:列出所有可用的软件组列表yum groupinstall 软件组名
:安装指定软件组,组名可以由grouplist查询出来yum groupremove 软件组名
:卸载指定软件组ps 静态查看系统进程,系统默认安装
ps -aux | grep 文件名 或 ps -ef | grep 文件名
: 根据文件名过滤进程(最常配合kill使用)
ps -u 用户名
: 根据用户过滤进程
lsof -Pti :端口号
: 通过端口号获得进程pid
kill -9 pid
: 杀死指定pid的进程,强行杀死。
top
: 动态查看系统的状态
history
: 查看历史命令
执行历史命令:
!!
执行上一条命令
!n
执行历史命令的中第n条
!-n
执行导数第n条
!string
执行以string开头的历史命令行
!?string?
执行包含string的历史命令行
alias 命令='别名'
示例: alias vi='vim'
alias -p
:查看已存在的别名
但是仅仅是这样改的话,当系统重启之后就会失效。
想要永久生效,需要修改根目录下.bashrc配置文件
[root@biubiubiu ~]# vi .bashrc
[root@biubiubiu ~]# source .bashrc
unlias name
示例:unlias vi
如果是之前修改了配置文件,需要再次去修改删掉。
cal:查看某一年的日历,可以是1-9999中的任意一年
示例:
cal 2020
: 2020年日历
/etc/sysconfig/network-scripts/ifcfg-网卡
/etc/sysconfig/network
/etc/resolv.conf # dns
CentOS的环境变量配置文件体系是一个层级体系,这与其他多用户应用系统配置文件是类似的,有全局的,有用户的,有shell的,另外不同层级有时类似继承关系。下面以PATH变量为例。
修改/etc/profile文件,将影响全局,所有用户。
/etc/profile在系统启动后第一个用户登录时运行。
在/etc/profile文件中添加
java export PATH=/someapplication/bin:$PATH
要使修改生效,可以重启系统,或者执行
java source /etc/profile echo $PATH
修改/etc/environment,将影响全局。
/etc/environment文件与/etc/profile文件的区别是:/etc/environment设置的是系统的环境,而/etc/profile设置的是所有用户的环境,即/etc/environment与用户无关,在系统启动时运行。
在/etc/environment文件中添加
java PATH=/someapplication/bin:$PATH
CentOS和大多Linux系统使用$访问环境变量,环境变量PATH中使用冒号:分隔。而Windows中使用两个%访问环境变量,PATH使用分号;分隔,例如:
java set PATH=E:\someapplication\bin;%PATH%
修改~/.bash_profile
(首选),将影响当前用户。在~/.bash_profile
文件中添加
java export PATH=/someapplication/bin:$PATH
修改/etc/bashrc(Ubuntu和Debian中是/etc/bash.bashrc),影响所有用户使用的bash shell。
/etc/bashrc顾名思义是为初始化bash shell而生,在bash shell打开时运行。
这里bash shell有不同的类别:登录shell和非登陆shell,登录shell需要输入用户密码,例如ssh登录或者su - 命令提权都会启动login shell模式。非登陆shell不会执行任何profiel文件;交互shell和非交互shell,提供命令提示符等待用户输入命令的是交互shell模式,直接运行脚本文件是非交互shell模式,一般情况下非交互shell模式不执行任何bashrc文件。根据以上情况,选择是否修改/etc/bashrc。
修改~/.bashrc
,影响当前用户使用的bash shell。
在终端中执行以下命令,只影响当前终端。
java export PATH=/someapplication/bin:$PATH
1、开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --list-ports
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
#重启firewall
firewall-cmd --reload
#停止firewall
systemctl stop firewalld.service
#禁止firewall开机启动
systemctl disable firewalld.service
查看防火墙状态:firewall-cmd --state
关闭防火墙: systemctl stop firewalld.service
禁止防火墙开机启动:systemctl disable firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
6、检查端口被哪个进程占用
netstat -lnpt |grep 5672
7、查看进程的详细信息
ps 6832
8、中止进程
kill -9 6832
标准流:
stdin:标准输入,编号为0,用于程序从键盘等设备接收数据。输入流被EOF(文件结尾)终止
stdout:标准输出,编号1,用于程序向终端等设备写入数据
stderr:标准错误,编号2,用于向终端等设备显示错误消息
重定向I/O Stream到文件:
选项 | 说明 | 模式 |
---|---|---|
< | 重定向stdin | |
> | 重定向stdout | 覆盖 |
>> | 重定向stdout | 追加 |
2> | 重定向stderr | 覆盖 |
2>> | 重定向stderr | 追加 |
案例:
[root@os1 test_data]# cat startxx.sh 1>>output.log 2>>output_err.log
date --help
date +%Y-%m-%d #2017-12-23
date +%H:%M:%S #13:29:03
date +%I:%M:%S #12小时时间显示
date +%c #locale的完整日期和时间
date -u #UTC日期和时间
date -R #RFC-2822格式
date -Iseconds #ISO-8601格式
date -s “2019-07-09 16:12:00“ #设置时间
请多多支持博主,点赞关注一起进步哦~