基本格式
command [-options] [parameter]
command:命令本身 -options:可选命令,可以通过选项控制命令的行为细节 parameter:可选命令的参数,多数用于命令的指向目标等
基础命令
ls:列出全部文件
语法:ls [-a -l -h] [Linux路径]
-a:all,列出全部文件(包含隐藏的文件/文件夹) -l:表示以列表形式展示内容,并展示更多信息 -h:表示以易于阅读的形式,列出文件大小。如K、M、G。-h必须要搭配-l一起使用 Linux路径:此命令的可选参数 当不使用选项和参数的时候,直接使用ls命令本体,表示以平铺形式,列出当前工作目录下的内容
cd:切换当前工作目录
语法:cd [Linux路径]
cd命令无需选项,只有参数。表示要切换到哪个目录下 cd命令直接执行,不写参数,表示切回到用户的HOME目录
pwd:查看当前工作目录
语法:pwd pwd命令,无选项,无参数,直接输入pwd即可
mkdir:创建目录(文件夹)
语法:mkdir [-p] [Linux路径]
参数必填,表示Linux路径,即要创建的文件夹的路径 -p选项表示,自动创建不存在的父级目录,适用于创建连续多层级的目录
touch:创建文件
语法:touch [Linux路径]
touch命令无选项,参数必填,表示要创建的文件路径
cat:查看文件内容
语法:cat [Linux路径]
more:查看文件内容
cat将内容直接全部显示出来。 more支持分页,如果文件内容过多,可以一页一页展示。 空格翻页,按q退出查看,b切换上一页。 语法:more [Linux路径]
more命令没有选项,参数必填,表示被查看的文件路径
cp:复制文件、文件夹
语法:cp [-r] 参数1 参数2
-r:可选,用于复制文件夹使用,表示递归 参数1:Linux路径,表示被复制的文件或者文件夹 参数2:Linux路径,表示被复制去的地方 示例: cp a.txt b.txt:复制当前目录下a.txt为b.txt cp a.txt test/:复制当前目录下a.txt到test文件夹内 cp -r test test2:复制文件夹test到当前test2文件夹内
mv:移动文件、文件夹
语法:mv 参数1 参数2
参数1:Linux路径,表示被移动的文件或者文件夹 参数2:Linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在
rm:删除文件、文件夹
语法:rm [-r -f] 参数1 参数2 … 参数N
-r:选项,用于删除文件夹 -f:表示force,强制删除(不会弹出提示确认信息) 普通用户删除内容时候不会弹出提示,只有root管理员用户删除内容时候会有提示 参数1、参数2、…参数N表示要删除的文件或者文件夹路径,按照空格隔开
rm命令支持通配符 *,用来做模糊匹配
符号*表示通配符,即匹配任意内容 test*:表示匹配任何以test开头的内容 *test:表示匹配任何以test结尾的内容 test :表示匹配任何包含test的内容
which:查看命令的程序文件存放位置
语法:which 参数
find:查找文件
语法:find 起始路径 -name “被查找的文件名” find命令支持通配符*,用来做模糊匹配
符号*表示通配符,即匹配任意内容 test*:表示匹配任何以test开头的内容 *test:表示匹配任何以test结尾的内容 test :表示匹配任何包含test的内容 示例:查找名字中包含test的文件:find / -name “test ”
find:按文件大小查找文件
语法:find 起始路径 -size + | -n [kMG]
±表示大于和小于 n表示大小数字 kMG表示大小单位,KB、MB、GB。k小写 示例: 查找小于10KB的文件:find / -size -10K 查找大于100MB的文件:find / -size +100M 查找大于1GB的文件:find / -size +1G
grep:过滤文件内容
语法:grep [-n] 关键字 文件路径
-n:可选,表示在结果中显示匹配的行的行号 关键字:必填。表示过滤的关键字,带有空格或者其他特殊符号 文件路径:必填。表示过滤内容的文件路径,可以作为内容输入的端口
wc:统计内容数量
语法:wc [-c -m -l -w] 文件路径
-c:统计bytes数量 -m:统计字符数量 -l:统计行数 -w:统计单词数量 文件路径:被统计的文件,可以作为内容输入的端口
管道符 | :将管道符左边命令的结果作为右边命令的输入
示例:
cat a.txt | grep test:将cat a.txt的结果,作为grep命令的输入 支持嵌套: cat a.txt | grep test | grep hello
echo:在命令行内输出指定内容 语法:echo 输出的内容
无需选项,只有一个参数,表示要输出的内容,复杂内容可以用""包围 示例: echo “hello Linux”
反引号`
示例:
echo pwd。pwd被作为普通字符输出了,如果使用反引号包括,则会将pwd执行后的结果进行输出
重定向符:> 和 >>
:将左侧命令的结果,覆盖写到符号右侧指定的文件中
:将左侧命令的结果,追加写到符号右侧指定的文件中 示例:
echo “hello” > test.txt echo “hello test1” > test.txt:执行后覆盖新内容 echo “hello test2” >> test.txt:再次执行,使用>>追加新内容
tail:查看文件尾部内容,跟踪文件的最新更改
语法:tail [-f -num] Linux路径
Linux路径:表示被跟踪的文件路径 -f:表示持续跟踪 -num:表示查看尾部多少行,不写默认为10行
head:查看文件头部内容
语法:head [-n] 参数
su:切换用户
su [-] [用户名]
-:可选,表示是否在切换用户后加载环境变量 用户名:表示要切换的用户。省略时候表示要切换到root用户
用户、用户组
Linux系统 中可以
配置多个用户 配置多个用户组 用户可以加入多个用户组 Linux中关于权限的管控有两个级别,分别是: 针对用户的权限控制 针对用户组的权限控制
用户组管理
创建用户组:groupadd 用户组名 删除用户组:groupdel 用户组名 用户管理 创建用户:useradd [-g -d] 用户名 -g:指定用户的组,不指定时候会创建同名组并自动加入。指定-g需要组已存在 -d:指定用户HOME路径,不指定,HOME目录默认在:/home/用户名 示例: useradd test2 -g test -d /home/test 删除用户:userdel [-r] 用户名 -r:删除用户的HOME目录,不使用-r,删除用户的时候,HOME目录会保留 查看用户所属组:id [用户名] 用户名:被查看的用户,如果不提供则查看自身 修改用户所属组:usermod -aG 用户组 用户名,将指定的用户加入指定的用户组
getenv:查看系统用户或者组信息
getenv passwd:查看系统全部用户信息 getenv gropu:查看系统全部组信息
ctrl + c:强制停止
ctrl + d:退出或者登出,不能用于退出vi/vim
history:搜索历史输入过的命令
ctrl + l:清屏
clear:清屏
yum安装
RPM包软件管理器,用于自动化安装配置Linux软件,并可以自动解决依赖问题 语法:yum [-y] [install | remove | search] 软件名称
-y:自动确认,无需手动确认安装或者卸载过程 install:安装 remove:卸载 search:搜索 yum命令需要有root权限,可以su切换到root或者使用sudo,同时需要联网
systemctl:控制系统服务的启动或者关闭等
语法:systemctl [start | stop | status | enable | disable] 服务名
start:启动 stop:关闭 restart:重启 status:查看状态 enable:开启开机自启 disable:关闭开机自启
ln:创建文件、文件夹软连接(快捷方式)
在系统中创建软连接,可以将文件、文件夹链接到其他位置,类似于windows中的快捷方式 语法:ln -s 参数1 参数2
-s:创建软连接 参数1:被链接的文件或者文件夹 参数2:要链接去的目的地 示例: ln -s /etc/yum.conf ~/yum.conf ln -s /etc/yum ~/yum
date:在命令行中查看系统的时间
date [-d] [+格式化字符串]
-d:按照给定的字符串显示日期,一般用于日期计算 格式化字符串:通过特定的字符串来标记,来控制显示的日期格式 %Y:年 %y:年份后两位数字(00_99) %M:月份(01_12) %d:日(01_31) %H:小时(00_23) %M:分钟(00_59) %S:秒(00_60) %s:自1970-01-01 00:00:00 UTC到现在的秒数 示例: date +%Y-%m-%d date +%Y-%m-%d %H:%M:%S
时区
修改时区为中国时区 rm -f /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ntp:同步时间
安装:yum install -y ntp 启动管理:systemctl start | stop | restart | status | disabled | enable ntpd 手动校准时间:ntpdate -u ntp.aliyun.com
ifconfig:查看本机ip地址
如果无法使用ifconfig,需要安装yum -y install net-tools 或者使用ip addr
hostname:查看主机名
hostname:查看主机名 hostnamectl set-hostname 主机名:修改主机名,需要root权限
ping:检查服务器是否可以联通
ping [-c num] ip或者主机名
-c:检查的次数,不使用-c选项,将无限次数持续检查 参数:ip或者主机名,被检查的服务器的ip地址或者主机名地址
ps:查看进程信息
语法:ps -ef:查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx
Kill:关闭进程
语法:kill [-9] 进程ID
-9:表示强制关闭进程。不使用此选项会向进程发送信息要求其关闭,但是是否关闭需要看进程自身的处理机制
wget:下载文件
wget是非交互式的文件下载器,可以在命令行内下载网络文件 语法:wget [-b] url
-b:可选,后台下载,会将日志写入到当前工作目录的wget-log文件 参数:url,下载链接
curl:发起网络请求
curl可以发送http网络请求,可以用于下载文件、获取信息等 语法:curl [-O] url
-O:选项,用于下载文件,当url是下载链接的时候,可以使用此选项来保存文件 参数:url,要发起请求的网络地址
nmap:查看端口占用
安装nmap:yum -y install nmap 语法:nmap ip地址
netstat:查看指定端口的占用情况
语法:netstat -anp | grep xxx
top:查看主机运行状态
语法:top:查看基础信息
df:查看磁盘占用
语法:df [-h]
iostat:查看CPU、磁盘等相关信息
语法:iostat [-x] [num1] [num2]
-x:显示更多信息 num1:数字,刷新间隔 num2:数字,刷新几次
环境变量
临时设置:export 变量名 = 变量值 永久设置 针对用户,设置用户HOME目录内:.bashrc文件 针对全局,设置/etc/profile
$符号:取出指定的环境变量的值
语法:$变量名 示例:
echo $PATH:输出PATH环境变量的值 echo
P
A
T
H
A
B
C
:输出
P
A
T
H
环境变量的值以及
A
B
C
。如果变量名和其它内容混淆在一起,可以使用
{PATH}ABC:输出PATH环境变量的值以及ABC。如果变量名和其它内容混淆在一起,可以使用
P A T H A BC :输出 P A T H 环境变量的值以及 A BC 。如果变量名和其它内容混淆在一起,可以使用 {}
压缩
语法:tar -zcvf 压缩包 被压缩…被压缩2…被压缩N
-z:表示使用gzip 语法:zip [-r] 参数1 参数2 参数N -r:被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致 示例: zip test.zip a.txt b.txt c.txt:将a.txt b.txt c.txt压缩到test.zip内 zip -r test.zip test a.txt:将test、a.txt文件压缩到test.zip内
解压
语法:tar -zxvf 被解压的文件 -C要解压去的地方
-z:表示使用gzip,可以省略 -C:指定要解压去的地方,不写默认解压到当前目录
语法:unzip [-d] 参数
-d:指定要解压去的位置 参数:被解压的zip压缩包文件 示例: unzip test.zip:将test.zip解压到当前目录 unzip test.zip -d /home/test,将test.zip解压到指定的文件夹内(home/test)
SCP:文件传输
示例:
压缩:zip -r test.zip test 传输:scp -p test.zip root@ip地址:/opt/apache-tomcat-8.5.56-new/webapps