Linux常用命令

Linux常用命令

命令 | 描述 | —- | ———————————————————— |
| w | 保存不退出 |
| q | 不保存退出 |
| ! | 强制退出 |
| q! | 表示不保存退出,保留源文件,而另存为其他的文件,可以用w 新文件名 |
| ZZ | 大写Z,保存退出 |

命令提示符

[root@localhost~]#

符号含义
[ ]这是提示符的分隔符号,没有特殊含义
root显示的时当前的登录用户
@分割符号,没有含义
localhost当前系统的简写主机名
~代表当前用户所在的目录,注意这里只显示最后一个子目录
#命令提示符。如果是超级用户显示为#,如果是普通用户显示为$
超级用户的根目录/root
普通用户的根目录/home/用户名

Linux命令的基本格式

[root@localhost~]# 命令 [选项][参数]

命令中的[]代表可选项,也就是一些命令可以不写选项或参数。

选项

加入选项可以实现更多功能,如ls -l意思就是显示文件的详细信息。

参数

参数是命令的操作对象,一般文件、命令、用户和进程等都可以作为参数被命令操作。

目录操作命令

ls -目录操作命令

命令名称:ls

所在路径:usr/bin/ls

执行权限:所有用户

命令格式:ls [选项] [文件名或目录名]

选项:

选项描述
-a显示所有文件(包括隐藏文件)
--color=when支持颜色输出,when的值默认是always(总显示颜色),也可以是never(从不显示颜色)和auto(自动)
-ld显示目录信息,而不是目录下的文件
-lh人性化显示,按照我们习惯的单位显示文件大小
-i显示文件的i节点号
-l长格式显示(详细信息)。ls -l等同于ll

PS:Linux中.开头的文件为隐藏文件。

-l选项
image-20200919191051379

依次表示:权限、引用计数、所属用户、所属组、文件大小(字节)、文件修改时间、文件名称

这里的引用计数代表该目录下有多少个一级子目录。

cd -切换所在目录

所在路径:Shell内置命令

执行权限:所有用户

功能:切换所在目录

命令格式:cd [目录名]

cd命令只要两个选项:

-P指如果切换的目录是软链接目录,则进入其原始的物理目录
-L指如果切换的目录是软链接目录,则直接进入软链接目录
~代表用户的家目录。cd命令直接回车效果是一样的。
代表上次所在目录
.代表当前目录
..代表上级目录

mkdir -创建目录命令

所在路径:/usr/bin/mkdir

执行权限:所有用户

功能描述:创建一个空目录

命令格式:mkdir [选项] 目录名

选项只有一个:-p递归建立所需目录。

就是当需要创建多级目录时,需要-p选项,不加则无法创建多级目录。

如:mkdir -p lm1/lm2/lm3

rmdir -删除目录命令

所在路径:/usr/bin/rmdir

执行权限:所有用户

命令格式:rmdir [选项] 目录名

无选项。

rmdir也可以递归删除目录,不过只能删除空目录,一旦目录中有内容就会报错。

tree -显示目录树

所在路径:/usr/bin/tree

执行权限:所有用户

命令格式:tree 目录名

文件操作命令

touch -修改时间戳

执行权限:所有用户

功能描述:修改时间戳,如没有该文件,则创建一个空文件。

命令格式:touch [选项] 文件名或目录名

选项:

选项描述
-a只修改文件的访问时间
-c如果文件不存在,则不建立新文件
-d把文件的时间改为指定的时间
-m只修改文件的数据修改时间

Linux中分为三个时间,分别为访问时间、数据修改时间、状态修改时间。这三个时间可以通过stat命令查看。

stat -显示文件详细信息

执行权限:所有用户

功能描述:显示文件或文件系统的详细信息

命令格式:stat [选项] 文件或目录名

选项:只有一个选项-f查看文件所在的文件系统信息,而不是查看文件的信息。

cat -查看文件内容

执行权限:所有用户

功能描述:合并文件并打印输出到标准输出

命令格式:cat [选项] 文件名

选项:

选项描述
-A相当于-vET功能的整合,用于列出所有隐藏符号
-E列出每行结尾的回车符$
-n显示行号
-T把Tab键用^I 显示出来
-v列出特殊字符

more -分屏显示内容

执行权限:所有用户

功能描述:分屏显示文件内容

命令格式:more 文件名

常用的交互命令:

命令描述
空格键向下翻页
b向上翻页
回车键向下滚动一页
/字符串搜索指定的字符串
q退出

less -分行显示文件内容

执行权限:全部用户

功能描述:分行显示文件内容

命令格式:less 文件名

进入显示文件后,使用箭头键,用于分行查看文件内容。(每按一次会向上、下显示一行)。

head -显示文件开头的内容

执行权限:全部用户

命令格式:head [选项] 文件名

选项:

选项描述
-n行数:从文件开头开始,显示指定行数,-n20-20效果一样
-v显示文件名

命令默认显示文件前十行内容。

tail -显示文件结尾内容

执行权限:所有用户

命令格式:tail [选项] 文件名

选项

选项描述
-n行数:从文件结尾开始,显示指定行数,-n20-20效果一样
-f监听文件的新增内容

使用-f选项会显示最后10行内容,而且光标不会退出文件,会一直监听文件的新增内容,这个时候使用echo命令向该文件追加内容,在原始的正在监听的终端中就会显示追加的内容。

ln -在文件之间建立链接

执行权限:所有用户

命令格式:ln [选项] 源文件 目标文件

选项:

选项描述
-s建立软链接文件。默认建立硬链接文件
-f强制。如果目标文件已经存在,则删除目标文件后再建立链接文件

建立硬链接:ln /root/test /tmp/test-hard

建立软链接:ln -s /root/test /tmp/test-hard

目录和文件都能操作的命令

rm -删除文件或目录

执行权限:所有用户

命令格式:rm [选项] 文件或目录

选项:

选项描述
-f强制删除
-i这个选项是默认的,交互删除,在删除之前会询问用户
-r可以递归删除,可以删除目录

如果被删除的路径是一个目录,则必须有-r选项,否则会报错。

一般要强制删除一个文件时,用rm -rf 文件路径

cp -复制文件和目录

执行权限:所有用户

命令格式:cp [选项] 源文件 目标文件

选项:

选项描述
-a相当于-dpr选项的集合
-d如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i询问,如果目标文件已经存在,则会询问是否覆盖
-l把目标文件建立为源文件的硬链接文件,而不是复制源文件
-s把目标文件建立为源文件的软链接文件,而不是复制源文件
-p复制后目标文件保留源文件的属性(包括所有者、所属组、权限、时间)
-r递归复制,用于复制目录

不改名复制:cp test /tmp/

改名复制:cp test /tmp/test

如需要复制目录,则需要使用-r选项。

mv -移动文件或改名

执行权限:所有用户

命令格式:mv[格式] 源文件 目标文件

选项:

选项描述
-f强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i交互移动,默认选项
-n如果目标文件已经存在,则不会覆盖移动,而是不询问用户
-v显示详细信息

权限管理命令

权限位的含义

image-20200920153951711

以上详细信息中,第一列就是权限位,其中:

第1位:表示linux的文件类型,如下

-普通文件
b块设备文件
c字符设备文件
d目录文件,Linux中一切皆文件,目录也是一种文件
l软链接文件
p管道符文件
s套接字文件
r代表read,读权限
w代表write,写权限
x代表execute,执行权限

第1组(第2-4位):文件拥有者的权限

第2组(第5-7位):文件所属组的权限

第3组(第8-10位):其他用户

chmod -修改文件的权限

执行权限:所有用户

功能描述:修改文件的权限模式

命令格式:chmod [选项] 权限模式 文件名

选项只有一个-R,递归设置权限,也就是给子目录中的所有文件设定权限。

权限模式:chmod命令的权限模式的格式是[用户身份][[赋予方式][权限]]

用户身份:

用户身份描述
u代表所有者
g代表所属组
o代表其他人
a代表全部身份

赋予方式:

赋予方式描述
+加入权限
-减去权限
=设置权限

权限:

权限描述
r读取权限
w写权限
x执行权限

如:

chmod o=rwx 文件名给其他人设置读写和执行权限。

chmod u+x,g+w 文件名给所有者执行权限,和所属组写权限。

数字权限

数字的含义:

数字含义
1代表x权限
2代表w权限
4代表r权限

如:chmod 755 文件名

第一个数字代表所有者的权限是 4+2+1

第二个数字代表所属组的权限是 4+1

第三个数字代表其他人的权限是 4+1

注意:

①当需要删除一个文件时,需要获取当前文件目录的写权限,光有文件的写权限是不够的。

②root用户是超级用户,就算没有任何权限,也可以执行所有操作。

③在普通用户中,只有文件的所有者才能修改权限。

umask -默认权限

主要让Linux中的新建文件和目录拥有默认权限。

查看系统的umask 默认权限

umask -S直接使用字母来表示默认权限。

修改系统的umask默认权限:

umask 002 修改默认权限为002

用户命令

useradd -创建用户

执行权限:超级用户

命令格式:useradd [选项] 用户名

选项:

选项描述
-u手动指定用户的UID
-d手动指定用户的家目录
-g手动指定用户的组名
-e手动指定用户的失效日期

第一步:添加用户useradd user

第二部:设置用户密码passwd user,输入两次密码确认

passwd -修改用户密码

执行权限:超级用户

命令格式:passwd [选项] 用户名

选项:

选项描述
-S查询用户密码的状态
-l暂时锁定用户
-u解锁用户

su -切换用户

命令格式:su - user切换到指定用户

usermod -修改用户信息

命令格式:usermod [选项] 用户名

userdel -删除用户

命令格式:userdel [-r] 用户名

所有者和所有组命令

chown -修改所有者和所有组

执行权限:所有用户

功能描述:修改文件和目录的所有者和所属组

命令格式:chown [选项] 所有者:所属组 文件(目录)

选项:-R递归设置权限,给子目录中的所有文件设置权限。

修改文件的所有者chown user 文件名

修改文件的所属组chown user:user 文件名

帮助命令

man 显示联级帮助手册

执行权限:所有用户

命令格式:man [选项] 命令

选项:

选项描述
-f查看命令拥有哪个级别的帮助
-k查看和命令相关的所有帮助

如:man ls #获取ls命令帮助信息

info -显示帮助信息的完整资料

man的使用大同小异。

在这个帮助信息中,如果标题的前面有*符号,则表示这是一个可以进入的子页面,按回车进入。

help -获取Shell内置命令帮助

一般使用都是外部命令,所以help使用很少。

搜索命令

whereis -查找命令、源文件和帮助

执行权限:所有用户

命令格式:whereis [选项] 命令

选项:

选项描述
-b只查找二进制命令
-m只查找帮助文档

which -列出命令的所在路径

执行权限:所有用户

命令格式:which 命令

locate -按照文件名搜索

执行权限:所有用户

命令格式:locate [选项] 文件名

选项:-i 忽略大小写。

注意:新建的文件,locate找不到,因为它不会直接去搜索硬盘空间,而是搜索locate数据库。

如果需要,可以使用updatedb命令来更新数据库。这种情况也是有可能会找不到,因为系统可能把该文件认定为临时文件。

find -在目录中搜索文件

执行权限:所有用户

命令格式:find 搜索路径 [选项] 搜索内容

选项:

选项描述
-name按照文件名搜索
-iname按照文件名搜索,不区分文件名大小写
-inum按照inode号搜索
-size[+/-]按照指定大小搜索文件,不加正反号为搜索指定大小文件
-atime[+/-]按照文件访问时间搜索
-mtime[+/-]按照文件数据修改时间搜索
-ctime[+/-]按照文件状态修改时间搜索
-perm[+/-]权限模式按照文件权限搜索

其他的还可以按照所有者,文件类型逻辑与算符

关机和重启命令

sync -数据同步

执行权限:所有用户

可直接执行,无参数。

shutdown -关机和重启

执行权限:超级用户

命令格式:shutdown [选项] 时间 [警告信息]

选项:

选项描述
-c取消已经执行的shutdown命令
-h关机
-r重启

shutdown -r now马上重启

shutdown -r 05:30指定时间重启,会占用终端前台

shutdown -r 05:30 &指定时间重启,会放入后台

shutdown -c取消定时重启

shutdown -r +1010分钟之后重启

shutdown -h now马上关机

shutdown -h 05:30指定时间关机

reboot 重启

直接重启。

haltpoweroff关机

直接关机。

init 重启和关机

init 0关机

init 6重启

改变系统运行级别的形式来完成关机重启的操作。

网络命令

ip -显示和设置网络路由

执行权限:超级用户

功能描述:显示和设置网络路由、路由策略

查看IP地址信息:ip address show

查看本机的路由信息表:ip route show

以下命令需要使用nmmtui工具

临时设定IP地址和删除IP地址:ip address add 192.168.44.31/24 dev ens33

临时设定网关:ip route del default via 192.168.44.1

ifconfig -配置网络接口

执行权限:超级用户

查看IP地址信息:ifconfig

临时配置IP地址:

ifconfig eth0 192.168.44.3

不指定子网掩码就会使用标准的子网掩码

ifconfig eth0 192.168.44.3 netmask 255.255.255.0

指定子网掩码

ifup启用网卡、ifdown关闭网卡

关闭eth0网卡命令:ifdown eth0

启用eth0网卡命令:ifup eth0

ping -向网络主机发送请求

执行权限:所有用户

功能描述:向网络主机发送ICMP请求

命令格式:ping [选项] IP

选项:

选项描述
-b后面加入广播地址,用于对整个网段进行探测
-c次数:用于指定ping的次数。ping -c 3 192.168.103.105
-s字节:指定探测包的大小。

再如:探测网段中可用主机

ping -b -c 3 192.168.103.255

ss -查询网络访问

执行权限:超级用户

命令格式:ss [选项]

选项:

选项描述
-a列出所有网络状态,包括Socket程序
-n使用IP地址和端口号显示,不使用域名和服务名
-p显示PID和程序名
-t显示TCP端口的连接状态
-u显示UDP端口的连接状态
-l查看监听状态

TCP和UDP:

①它们是两个具有代表性的传输层协议;

②TCP面向连接,而UDP是无连接的;

③TCP提供的服务更可靠;

④TCP面向字节流,UDP则是面向报文的;

⑤TCP连接只能是点到点相比,UDP连接方式更加多样化;

⑥UDP的首部开销8个字节比TCP的20字节要小;

在CentOS 7.x中默认没有安装netstat命令,而是通过ss命令取代了netstat命令。

使用方法:

查看本机所有网络连接:ss -an

查询本机开启的端口:ss -tuln

查看本机开启的端口与正在进行的连接:ss -tuan

netstat -查看网络连接

执行权限:所有用户

功能描述:输出网络连接、路由表、接口统计、伪装链接和组播成员

命令格式:netstat [选项]

用法基本与ss一致。

write -向其他用户发送信息

执行权限:所有用户

命令格式:write 用户名 [终端号]

如:write user1 pts/1

wall -给所有登录用户发送信息

命令格式:wall "要发送的信息"

mail -发送和接收电子邮件

执行权限:所有用户

发送邮件:

mail user1
Subject:hello    <-右键标题
Nice to meet you!    <-邮件内容
.                <-使用"."来结束邮件输入

发送文件内容:

mail -s "test mail" root</root/anaconda-ks.cfg

其中-s选项用来指定邮件标题。

查看已经接收的邮件:

mail

打开ssh服务

service sshd start

打开22端口

netstat -ntpl | grep 22

查看防火墙状态

systemctl status firewalld

开启防火墙状态

systemctl start firewalld

关闭防火墙

systemctl stop firewalld

查看当前firewall状态

firewall-cmd --state

重启firewall

firewall-cmd --reload

禁止开启重启

systemctl disable firewalld.service

查看已经开放的端口

firewall-cmd --list-ports

开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

测试端口

telnet 服务器ip地址 端口
#ip地址与端口使用空格隔开

用户和用户组管理

用户配置文件和管理相关文件

用户信息文件:/etc/passwd

保存所有用户的主要信息

影子(密码)文件:/etc/shadow

保存用户的实际加密密码和密码有效期等参数。这个文件只有超级用户才有权限查看。

组信息文件/etc/group/

记录组ID(GID)和组名的对应文件

组密码文件/etc/gshadow

服务器搭建

压缩包解压缩命令:

.tar 
解包:tar xvf FileName.tar 
打包:tar cvf FileName.tar DirName 
(注:tar是打包,不是压缩!) 
——————————————— 
.gz 
解压1:gunzip FileName.gz 
解压2:gzip -d FileName.gz 
压缩:gzip FileName

.tar.gz 和 .tgz 
解压:tar zxvf FileName.tar.gz 
压缩:tar zcvf FileName.tar.gz DirName 
——————————————— 
.bz2 
解压1:bzip2 -d FileName.bz2 
解压2:bunzip2 FileName.bz2 
压缩: bzip2 -z FileName

.tar.bz2 
解压:tar jxvf FileName.tar.bz2 
压缩:tar jcvf FileName.tar.bz2 DirName 
——————————————— 
.bz 
解压1:bzip2 -d FileName.bz 
解压2:bunzip2 FileName.bz 
压缩:未知

.tar.bz 
解压:tar jxvf FileName.tar.bz 
压缩:未知 

启动tomcat

tomcat的bin目录下执行:

./startup.sh

关闭tomcat

./shutdown.sh

安装ssh服务

sudo yum install openssh-server

监听22端口

Port 22
ListenAddress 0.0.0.0
ListenAddress ::
image-20201128154920006

使用ssh服务登录

ssh root@192.168.0.114

打开某个端口号

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

重新启动网络服务

systemctl restart network
暂无评论

发送评论 编辑评论


				
上一篇
下一篇