Linux常用命令

用户相关命令

帐号管理命令

以下几个命令必须在root账户下使用,切换到root账户的命令 su root

创建用户: useradd (选项)

$ useradd jack //创建一个名为jack的用户

用户名用户口令: passwd (选项)

$ passwd jack //修改jack用户的密码,新密码由字母+数字组成,长度大于8

用户名修改用户: usermod 选项 用户名

$ usermod -l tom jack //把用户名jack改为tom

删除用户: userdel (选项) 用户名

$ userdel tom //删除tom

用户组

创建用户组: groupadd (选项)

$ groupadd kaifa //添加开发组

用户组名修改用户组: groupmod(选项)

$ groupmod -n kaifazu kaifa //kaifa修改为kaifazu

用户组名查询用户所属组:groups 用户名

$ groups root

删除用户组: groupdel 用户组名

$ gropudel kaifazu //删除kaifazu

管理用户gpasswod

语法:gpasswd (可选项)组名

gpasswd 是 Linux 下的管理工具,用于将一个用户添加到组或者从组中删除。

-a:添加用户到组;

-d:从组删除用户;

-A:指定管理员;

-M:指定组成员和-A的用途差不多;

-r:删除密码;

-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。

$ groupadd kaifazu //创建一个组,组名叫:kaifazu
$ useradd user1 //创建一个用户,叫user1
$ useradd user2 //创建一个用户,叫user2
$ useradd user3 //创建一个用户,叫user3

$ gpasswd -a user1 kaifazu //把user1添加到kaifazu
$ gpasswd -a user2 kaifazu //把user2添加到kaifazu
$ gpasswd -a user3 kaifazu //把user3添加到kaifazu

$ grep 'kaifazu' /et/gropu     //查询kaifazu下面的用户

系统管理相关命令

日期管理date

date [参数选项]

参数选项:

-d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;

-s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;

-u:显示GMT;

–help:在线帮助;

–version:显示版本信息

$ date //查询当前日期:2020年 05月 29日 星期五 22:56:14 CST
$ date -d "2020-09-09" //查询20200909的日期: 2020年 09月 09日 星期三 00:00:00 CST

显示用户logname

显示当前登录用户的信息

$ logname

切换用户su
格式:su 用户名

切换后退出用户 ctrl+d

查看当前用户详细信息id

查看当前用户的详细信息(用户id,群组id,所属组)

$ id

提升操作权限sudo

sudo [参数选项] 提高普通用户的操作权限

参数选项:

–V 显示版本编号

–h 会显示版本编号和指令的使用方式说明

–l 显示出自己的权限

–v 超出N分钟没有使用,要求再次输入密码(默认5分钟)

–k 下一次执行 sudo 时问密码

–s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell

–H 将环境变数中的 HOME 指定为要变更身份的使用者HOME目录

sudo command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令

进程相关命令

top 显示进程信息
top 实时显示所有的进程信息

top – c 实现显示所有的进程信息(显示完整命令)

top –p PID 实时显示指定进程的信息结束监控快捷键:q

在这里插入图片描述

ps命令

ps [options] [–help] 查看进程信息

参数选项:

-A:进程信息信息(部分)

-u : 显示指定用户信息

-ef :显示所有进程信息(完整)

kill命令

kill 进程PID 杀死指定进程

kill -9 进程PID 彻底杀死指定进程

kill -9 $(ps –ef | grep 用户名) 杀死指定用户所有进程

killall –u 用户名 杀死指定用户所有进程

关机和重启相关命令

关机

shutdown 关机,默认立即关机,但是Centos7中会在一分钟后关机

shutdown -h now 立马关机

shutdown +1 “警告信息” 延迟一分钟关机

shutdown -r +1 “警告信息” 一分钟后关机并重启

shutdown -c 取消关机

重启

reboot

系统管理其他命令

who

who 显示当前登陆用户

who -H 显示当前登陆用户,多了标题信息

timedatectl命令

矫正服务器时间、时区

timedatectl status 显示系统的当前时间和日期

timedatectl list-timezones 查看所有可用的时区

timedatectl set-timezone “Asia/Shanghai“ 设置本地时区

timedatectl set-ntp false 禁用时间同步

timedatectl set-time “2019-03-11 20:45:00“ 设置时间

timedatectl set-ntp true 启用时间同步

clear
clear 清除屏幕

目录与文件相关命令

列出目录下的文件和文件夹
ls(list)是一个非常有用的命令,用来显示当前目录下的内容

$ ls

在这里插入图片描述

$ ls -a

显示所有文件或目录(包含隐藏的文件),在linux中以 . 开头的文件都是隐藏的文件

3

$ ls -l 
$ ll

显示文件详情,ll是缩写

在这里插入图片描述

$ ll -h

友好显示文件大小

显示当前所在文件夹

pwd 显示当前所处目录

切换目录

$ cd app

切换到app目录

$ cd ..

切换到上一层目录

$ cd /

切换到系统根目录

$ cd ~

切换到用户主目录

$ cd -

切换到上一个所在目录

创建文件夹

$ mkdir app

在当前目录下创建app目录,只能创建单级目录。

$ mkdir -p app2/test

级联创建aap2以及test目

创建文件

$ touch a.txt  //不存在就创建,存在就修改时间属性
$ touch a{1..10}.txt //批量创建
$ stat a.txt //查看文件详细信息

创建一个空文件

删除文件和文件夹

删除空文件夹

rmdir app

删除app目录,前提app目录必须为空,该目录下不能有文件

删除非空文件夹

$ rm -rf a

不询问递归删除 a目录以及该目录下的所有内容

删除文件

$ rm -rf a.txt

不询问直接删除a.txt文件

$ rm -rf *

删除当前目录下的所有的文件

$ rm -rf /*

/表示根目录,表示删除根目录下的所有的文件,别用。

复制和移动和重命名

复制

cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。

$ cp a.txt b.txt

将a.txt复制为b.txt文件

$ cp a.txt ../

将a.txt文件复制到上一层目录中

移动或重命名

mv 移动或者重命名

$ mv a.txt ../

将a.txt文件移动到上一层目录中

$ mv a.txt b.txt

将a.txt文件重命名为b.txt

文件属性相关
在这里插入图片描述
在这里插入图片描述

更改文件的组属性

chgrp:修改所在用户组,该命令只能修改组属性

chgrp root aaa //把aaa所在用户组修改为root
chgrp -v root itcast aaa //把aaa所在用户组由root改为itcast,执行完毕多了描述执行结果信息

更改文件的属性主与组属性

可以同时修改属主和属组权限

chown itcast:itcast aaa 将aaa文件的属主和属组改为itcast

chown -R itcast:itcast aa 将aaa文件夹包括子文件夹的属主和属组改为itcast

更改文件的权限

1590844321617

$ chmod -R 770  aaa //表示把aaa包括其子文件和子文件夹的权限设置为 自己和组可读写执行,其他组不能操作

vi和vim编辑器

常用操作

1.打开文件, vi 文件名

2.启用编辑,按i键

3.保存退出 esc->:wq

4.不保存退出 esc->:q!

定位行

vim 文件名 第几行

vim xx.txt 5

异常处理

如果 vim异常退出, 在磁盘上可能会保存有 交换文件(a.txt.swp)


下次再使用 vim 编辑文件时, 会看到以下屏幕信息,直接使用 rm -rf .txtfile.txt.swp删除交换文件即可

在这里插入图片描述

查看文件内容

cat

用于显示文件的内容。主要阅读小型文件

格式:cat[参数]<文件名>

$ cat yum.conf

more

一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。

回车显示下一行内容。

按 q 键退出查看。

$ more yum.conf

空格显示下一页数据 回车显示下一行的数据

less

用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。

$ less yum.conf
$ less -N yum.conf //加入行号

PgUp 和 PgDn 进行上下翻页

tail

tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。

用法:

$ tail -10 /etc/passwd

查看后10行数据

tail -f catalina.log

动态查看日志,ctrl+c 结束查看

tail –3 big.txt 显示文件最后3行

tail -f big.txt 动态显示最后10行

tail -4f big.txt 动态显示最后4行

tail -n +2 big.txt 显示文件a.txt 的内容,从第 2 行至文件末尾

tail -c 45 big.txt 显示最后一些字符

搜索文本文件或进程中的内容grep

grep 关键字 small.txt 把包含关键字的行展示出来

grep –n 关键字 small.txt 把包含关键字的行展示出来且加上行号

grep –i 关键字 small.txt 把包含关键字的行展示出来,搜索时忽略大小写

grep –v 关键字 small.txt 把不包含关键字的行展示出来

ps -ef | grep 关 键字 查找指定的进程信息,包含grep进程

ps -ef | grep 关键字 | grep -v “grep” 查找指定的进程信息,不包含grep进程

ps -ef|grep -c sshd 查找进程个数

grep lang anaconda-ks.cfg –color 高亮显示查询结果

$ grep lang anaconda-ks.cfg –color -A1 -B1 高亮显示查询结果,并且显示上一行和下一个

echo命令

语法:echo “字符串” 展示文本,类似java中输出打印

echo “字符串” >文件名 将字符串写到文件中(覆盖文件中内容)

echo “字符串” >> 文件名 将字符串写到文件中(不覆盖文件中内容)

cat 不存在的目录 &>> error.log 将命令的失败结果 追加 error.log文件的后面

管道 |

管道 | 实际上就是过滤器

管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。

示例

$ ls --help | more

分页查询帮助信息

$ ps –ef | grep java

查询名称中包含java的进程

$ ifconfig | more
$ cat index.html | more
$ ps –ef | grep aio

awk 文本分析命令

过滤和切割

需求 1

在这里插入图片描述

$ cat a.txt | awk '/zhang|li/'

需求2

$ cat a.txt | awk -F ' ' '{print $1,$2,$3,$4}'

按照指定方式展示

需求
在这里插入图片描述

$ cat a.txt | awk -F ' ' '{OFS="==="}{print $1,$2,$3,$4}'

转大小写

在这里插入图片描述

$ cat a.txt | awk -F ' ' 'print toupper($1),$2,$3,$4}'

计算

在这里插入图片描述

$ cat a2.txt | awk -F ' ' 'BEGIN{cnt=0}{cnt=cnt+$4}END{print cnt}'

在这里插入图片描述

使用NR统计行数

$ cat a2.txt | awk -F ' ' 'BEGIN{cnt=0}{cnt=cnt+$4}END{print cnt,NR}'

软连接ln

类似windows中的快捷方式

在这里插入图片描述

语法

ln -s 目标文件路径 快捷方式路径

目标文件路径必须使用绝对路径,或者相对于快捷方式所在路径

$ ln -s /etc/a.txt a.txt.link //把etc下面的a.txt放到当前目录下,快捷名叫a.txt.link

搜索查找find

find . -name “*.txt” 查找当前目录及其子目录下所有后缀名名是txt的文件

find . -ctime -1 查找当前目录及其子目录下所有最近 1天内更新过的文件

find / -name ‘czbk’ /代表是全盘搜索,也可以指定目录搜索

压缩与解压缩

gzip与ungzip

gizp a.txt 压缩文件,后缀名是.gz

gzip * 压缩当前目录下所有文件

gzip -dv * 解压文件并列出详细信息

gunzip 压缩文件 解压

tar

tar -cvf 打包文件名 文件名 打包文件并指定打包之后的文件名(仅打包不压缩) ,后缀名.tar

tar -zcvf 压缩文件名 文件名/文件夹名 压缩文件或者文件夹并指定压缩文件名(打包压缩)

tar -ztvf 压缩文件名 查看压缩文件中有哪些文件

tar –zxvf 压缩文件名 解压

参数选项:

-c 建立新的压缩文件

-v 显示指令执行过程

-f<备份文件> 指定压缩文件

-z 通过gzip指令处理压缩文件。

-t 列出压缩文件中的内容

-x 表示解压

zip与unzip

zip -q -r 压缩文件名 文件/文件夹 压缩,压缩后的后缀名是.zip

unzip -l 压缩文件名 查看这个压缩文件中有多少内容

unzip -d 指定文件夹 压缩文件 解压

bzip2与bunzip2

使用新的压缩算法,压缩后的文件比原来的要小,但是花费时间变长。若没有加上任何参数,bzip2压缩完文件后会产生.bz2的压缩文件,并删除原始的文件。

bzip2 a.txt 压缩,后缀名.bz2

bunzip2 -v a.bz2 解压并显示详细信息

网络管理

ifconfig

ifconfig 显示激活的网卡信息

ifconfig ens37 down 关闭网卡,不用测试

ifconfig ens37 up 启动网卡

ifconfig ens37 192.168.23.199 配置ip地址

ifconfig ens37 192.168.23.133 netmask 255.255.255.0 配置ip地址和子网掩码

ping

ping www.baidu.com 检测是否与百度连通

ping -c 2 www.baidu.com 指定接收包的次数

netstat

netstat –a 显示详细的连接状况

netstat –i 显示网卡列表

磁盘管理

lsblk

类似windows下的 DiskGenius

在这里插入图片描述
df 显示整个硬盘使用情况

df 文 件夹 显示文件夹使用情况

df –total 显示所有的信息

df -h 将结果变成KB,MB,GB形式展示,利于阅读

https://gitee.com/haoyongliang/resources/raw/master/images/linux/cengos7/1590851504042.png)

语法:lsblk [参数选项] 列出硬盘的使用情况

理解为:list block 的英文缩写。

lsblk 列出硬盘的使用情况

lsblk –f 显示系统信息

df

类似windows中的磁盘

在这里插入图片描述
df 显示整个硬盘使用情况

df 文 件夹 显示文件夹使用情况

df –total 显示所有的信息

df -h 将结果变成KB,MB,GB形式展示,利于阅读

mount

用于挂载Linux系统外的设备
在这里插入图片描述

挂载点
挂载就是将某个未使用的空间或可移动设备的存储空间指向一个目录

在这里插入图片描述

注意事项

注意:“挂载点”的目录需要以下几个要求:

目录事先存在,可以用mkdir命令新建目录;

挂载点目录不可被其他进程使用到;

挂载点下原有文件将被隐藏。

命令

mkdir -p mnt/cdrom 创建文件夹(也是创建一个挂载点)

mount -t auto /dev/cdrom /mnt/cdrom aa 开始挂载,将/dev/cdrom /mnt/cdrom

umount ./mnt/cdrom/ 卸载

yum

类似windows中的软件管家,并且可以解决依赖问题,比如安装A软件需要B软件,会自动安装B软件。一般软件安装时会提供对应的yum命令,能看懂即可

在这里插入图片描述

常用命令

1.列出所有可更新的软件清单命令:yum check-update
2.更新所有软件命令:yum update
3.仅安装指定的软件命令:yum install
4.仅更新指定的软件命令:yum update
5.列出所有可安裝的软件清单命令:yum list
6.删除软件包命令:yum remove
7.查找软件包 命令:yum search
8.清除缓存命令:
yum clean packages: 清除缓存目录下的软件包
yum clean headers: 清除缓存目录下的 headers
yum clean oldheaders: 清除缓存目录下旧的 headers
yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

案例:

yum -y install tree

tree

yum remove tree

yum list tom* 找出tom为开头的软件名称

修改下载源

默认的下载源在国外,比较慢,所以建议修改成国内的

yum -y install wget
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
yum search tomcat

yum和rpm的区别

最初,ReadHat linux发行版专门用来管理各项套件的程序

区别,rpm只能安装已经下载到本地机器上的rpm包

防火墙端口开放

firewall-cmd --zone=public --add-port=5672/tcp --permanent   # 开放5672端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent  #关闭5672端口

firewall-cmd --reload   # 配置立即生效

查看防火墙所有开放的端口

firewall-cmd --zone=public --list-ports
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值