整理了一下Linux常用命令
一、用户管理
添加用户 useradd 用户名
设置口令 passwd 用户名
修改用户 usermod -l 新用户名 旧用户名
删除用户 userdel 用户名
二、用户组管理
添加组 groupadd 组名称
修改组 groupmod -n 新组名 旧组名
查询用户所在的组 groups 用户名
删除组 groupdel 用户组
将用户添加到组 gpasswd -a 用户名 组名称
查看组下所有用户 grep '组名称' /etc/group
三、系统管理
日期管理
date -s "2019-12-11 16:15:00" (设置时间)
date (显示时间)
显示用户
logname (显示登陆账户信息)
su切换用户
su 用户名
id命令
id (显示用户当前信息)
sudo执行
sudo 命令(提高当前用户的权限)
top
top -c (显示进程信息)
ps命令
ps -ef (显示所有进程信息 )
kill命令
kill -9 线程名称 (彻底干死进程)
关机命令
shutdown -h now (立刻关机)
shutdown +1 (1分钟关机)
shutdown –r +1 (1分钟后关机重启)
who命令
who (显示当前登录系统的用户)
timedatectl命令
timedatectl 是用于控制系统时间和日期。可以用来查询和更改系统时钟于设定,同时可以设定和修改时区信息
clear命令
clear (命令用于清除屏幕)
exit命令
exit会被经常在shell中使用
四、目录管理
ls列出目录
ls -l
ls -al
cd切换目录
cd [相对路径或绝对路径]
显示目前的目录
pwd
创建一个新的目录
mkdir 目录名
mkdir -p aaa/bbb (-p 确保目录名称存在,不存在的就建一个)
删除一个空的目录
rmdir 目录名
移除文件或目录
rm -r ccc (强制不询问)
rm -rf ccc (强制不询问递归删除)
复制文件或目录
cp [options] source dest
cp –r aaa/* ccc (复制目标文件和子文件)
移动文件与目录或修改文件与目录的名称
mv [options] source dest
mv aaa bbb
========================================================================
若指定目录已有同名文件,则先询问是否覆盖旧文件
在 mv 操作要覆盖某已有的目标文件时不给任何指示; 文件属性 示例文件:
drwxr-xr-x. 2 root root 70 5月 23 19:59 tuned
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
-
当为[ d ]则是目录
-
当为[ - ]则是文件;
-
若是[ l ]则表示为链接文档(link file);
-
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
-
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,
[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。 文件属主和属组 对于一个文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。 也就是所谓的属主,它属于哪个用户的意思。 除了属主,还有属组,也就是说,这个文件是属于哪个组的(用户所属的组)。
文件的【属主】有一套【读写执行权限rwx】 文件的【属组】有一套【读写执行权限rwx】 文件的【其它用户】有一套【读写执行权限rwx】
========================================================================
chgrp命令 用于变更文件或目录的所属群组 chgrp -v 修改后的组名 文件名
chown更改属主和属组 chown -R root:root abc修改后的组名 文件名
chmod 更改访问权限命令 如果要将abc这个文件所有的权限都设定启用命令如下:
chmod -R 777 abc
chmod -R u=rwx,g=rx,o=r abc
chmod -R a=rwx abc
chmod -R a=rwx abc
五、touch命令
touch命令 用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件
touch aaa.txt [创建一个空文件]
touch czbk-{1..10}.txt [ 创建批量空文件]
六、vi和vim命令
VI: 只能是编辑 文本内容, 不能对 字体 段落进行排版
VIM: 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富
VI/VIM模式:
命令模式: 在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。
编辑模式: 在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。
末行模式: 在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
编辑文件: vim txtfile.txt
-
如果文件已经存在, 会直接打开该文件
-
如果文件不存在, 保存且退出时 就会新建一个文件 异常处理: - 如果 vim异常退出, 在磁盘上可能会保存有 交换文件
-
下次再使用 vim 编辑文件时, 会看到以下屏幕信息,
七、文件查看
cat命令
cat txtfile.txt [直接查看全部文件内容]
grep命令
grep eeee txtfile.txt [搜索 存在关键字 "eeee" 的行的文件]
grep -n eeee txtfile.txt [搜索 存在关键字 "eeee" 的行 且显示行号]
grep -i eeee txtfile.txt [忽略大小写 搜索存在关键字的行]
grep -v 中国 txtfile.txt [ 搜索 不存在关键字 的行 ]
ps -ef | grep sshd(内容) [ 查找指定的进程信息 ]
ps -ef|grep -c sshd [ 查找进程个数]
tail命令 tail 命令可用于查看文件的内容. 有一个常用的参数 -f 常用于查阅正在改变的日志文件。
tail -f txtfile.txt [动态显示文档的最后内容,一般用来查看日志]
less命令 less命令也是查看文件的,只不过它适合查看 内容较多的文本文件,它也可以用于分屏显示文件内容, 每次只显示一页内容,有点类似我们做分页查询
less txtfile.txt [查看大文件]
1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
2.单行导航
j - 向前移动一行
k - 向后移动一行
八、文本处理
echo echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为:
echo [ -n ] 字符串
echo string将字符串输出到控制台 ,
echo的重定向
命令:1.echo “想要的内容”> 文件名
将想要的内容覆盖到对应的文件当中去,文件当中之前的内容不复存在了,实际上是修改了原文件的内容。
2.echo “想要的内容”>> 文件名
将想要的内容追加到文件后,对文件之前的内容不修改,只进行增添,也叫追加重定向。
管道 管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入
ls --help | less 分页查询帮助信息
ps –ef | grep java 查询名称中包含java的进程
awk AWK是一种处理文本文件的语言,是一个强大的文本分析工具
cat czbk-txt.txt | awk '/zhang|li/' [ 搜索含有 zhang 和 li 的学生成绩]
软连接
ln -s 目标文件绝对路径 快捷方式路径
find查找 find命令类似与在Windows中全局查找
find <指定目录> <指定条件> <指定内容>
find / -name 'czbk' [/代表是全盘搜索,也可以指定目录搜索 ]
read命令 read命令用于从标准输入读取数值类似java的键盘录入Scanner对象.
#!/bin/bash
echo "请您输入网站名: "
#读取从键盘的输入
read website
echo "你输入的网站名是 $website"
exit 0 #退出
九、备份压缩
gzip命令 gzip命令用于压缩文件。gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出".gz"的扩展名
语法: gzip【参数】【文件或目录】
gzip * [ 压缩所有的文件]
gunzip命令 gunzip命令用于解压文件。
语法: gunzip【参数】【文件或目录】
gunzip 001.gz [解压文件]
tar命令 tar的主要功能是打包、压缩和解压文件。 tar本身不具有压缩功能。他是调用压缩功能实现的 。
语法: tar[必要参数][选择参数][文件]
tar -cvf txt.tar txtfile.txt [ 将 txtfile.txt文件打包(仅打包,不压缩)]
tar -zcvf txt.tar.gz txtfile.txt [将 txtfile.txt文件打包压缩(打包压缩(gzip))]
tar -ztvf txt.tar.gz [ 查看tar中有哪些文件]
tar -zxvf /home/itcast/ysFiles/txt.tar.gz [解压缩]
zip命令 zip命令就完全的相当于在Windows下面选中文件右键进行压缩了
unzip命令 unzip命令就完全的相当于在Windows下面选中文件右键进行解压缩了
bzip2 bz2"格式是 Linux 的另一种压缩格式,从理论上来讲,".bz2"格式的算法更先进、压缩比更好;而 咱们上面学到的".gz"格式相对来讲时间更快
bunzip2 Linux bunzip2命令是.bz2文件的解压缩程序。
总结:
gz:由gzip压缩工具压缩的文件。
.bz2:由bzip2压缩工具压缩的文件。
.tar:由tar打包程序打包的文件(tar没有压缩功能,只是把一个 目录合并成一个文件)
.tar.gz:可理解为先由tar打包,再由gz压缩。
.zip:可理解为由zip压缩工具直接压缩
十、网络与磁盘
ifconfig命令 ifconfig [用于显示或设置网络设备]
ping命令 ping www.baidu.com [检测是否与主机连通]
netstat命令 netstat -a [显示详细的连接状况] netstat -i [显示网卡列表]
lsblk命令 使用lsblk命令可以以tree的形式展示所有设备的信息
df命令 df命令用于显示目前在Linux系统上的文件系统的磁盘使用情况统计。
mount命令 mount命令用于挂载Linux系统外的文件
防火墙
systemctl status firewalld 查看当前防火墙状态
systemctl stop firewalld 关闭当前防火墙。
systemctl disable firewalld 开机防火墙不启动。
网卡重启
1、ifdown/ifup
ifdown eth0 卸载网卡
ifup eth0 装载网卡
2、ifconfig
ifconfig eth0 down 卸载网卡
ifconfig eth0 up 装载网卡
3、network
/etc/init.d/network restart
这条命令是重启整个网络
重启之后需要重新登录服务器,比较麻烦
可使用 nohup /etc/init.d/network restart &
4.service network restart 或者 systemctl restart network
十一、软件安装
安装分类:
- 二进制发布包 软件已经针对具体平台编译打包发布,只要解压,修改配置即可
- RPM包 软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
- Yum在线安装 软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题
- 源码编译安装 软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署。
yum在线安装
yum install 软件名称
rpm包安装
- rpm 只能安装已经下载到本地机器上的rpm 包
- rpm -ivh 软件全包名 [安装rpm软件包]
- rpm -e 软件全包名 [卸载rpm软件包]
- rpm -qa [列出所有安装过的rpm包]
- rpm -qi 软件全包名 [查询软件包信息]
- rpm -ql 软件全包名 [查看软件包安装位置]
源码安装
先对源码进行编译,然后才能安装.例如:nginx软件
二进制包安装
解压就能使用.例如tomcat软件
打开公共可访问的端口
此处可看这里 https://blog.csdn.net/weixin_49328005/article/details/108284170
设置开发端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
设置重启也不会失效
firewall-cmd --reload
看一下public区域下所有已打开的端口
firewall-cmd --zone=public --list-ports
来源:oschina
链接:https://my.oschina.net/u/4385759/blog/4536400