# Linux服务器常用命令

# cd(Change Directory)

更改当前目录

cd [目录名]
cd / #系统根目录
cd .. #父目录
cd ~ #当前用户主目录

# pwd(Print Working Directory)

打印当前目录

pwd [选项]
pwd #当前目录路径
pwd -P #当前目录的物理路径
pwd -L #当前用户的连接路径

# ls(List)

列出当前目录下的文件

ls [选项] [目录名]
ls -a #列出所有文件,包括以.开头的隐含文件
ls -l #文件名加上权限,所有者,文件大小等信息
ls -h #human-readable 以容易理解的格式列出文件大小,(例如1K)
ls -t #以文件修改时间排序
ls -S #以文件大小排序
ls -r #反向排序

# cat(Concatenate)

将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入读取内容并显示,它常与重定向符号配合使用。

cat [选项] [文件]
cat -b #对非空输出行编号
cat -E #在每行结束处显示$
cat -n #对输出的所有行编号
cat -s #有连续两行以上的空白行,就代换为一行空白行
tac #反向显示
cat -ns 1.log > 2.log #把1.log的文件内容加上行号后输入2.log这个文件里,多行空行换成一行输出

# more

功能类似 cat ,cat 命令是将整个文件的内容从上到下显示在屏幕上。 more 命令会一页一页的显示,方便使用者逐页阅读,而最基本的指令就是按空格键(space)往下一页显示,按 B 键就会往回(back)一页显示,而且还有搜寻字串的功能。more 命令从前向后读取文件,因此在启动时就加载整个文件。

more [选项] [文件]
more +n #从第n行开始显示
more -n #定义屏幕大小为n行
more +/pattern #在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
more -c #从顶部清屏,然后显示
more -s #把连续的多个空行显示为一行
more -u #把文件内容中的下划线去掉
ll /etc | more -10 #显示/etc目录信息,每页显示10个文件

常用操作

操作 作用
= 输出当前行的行号
q 退出more
空格键 向下滚动一屏
b 返回上一屏

# less

less 命令也是对文件或其它输出进行分页显示的工具,应该说是 Linux 正统查看文件内容的工具,功能极其强大。

less [选项] 文件
less -e #当文件显示结束后,自动离开
less -f #强迫打开特殊文件,例如外围设备代号、目录和二进制文件
less -i #忽略搜索时的大小写
less -m #显示类似more命令的百分比
less -N #显示每行的行号
less -s #显示连续空行为一行

常用操作

操作 作用
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n 重复前一个搜索
N 反向重复前一个搜索
b 向前翻一页
d 向后翻半页
q 退出less命令
空格键 向后翻一页
向上键 向上翻动一行
向下键 向下翻动一行

# 用户和组管理

userdel -r guest2 #将用户和用户目录同时删除
usermod guest1 -u 2000 -d /tmp/tempuser -g guest #将guest1用户的uid改成2000,并将guest用户组作为其主用户组,同时创建目录/tmp/tempuser作为guest1的家目录
groupadd guest #创建guest用户组
useradd -d /home/vsftpduser -s /usr/sbin/nologin vsftpduser #创建虚拟用户vsftpduser,创建目录/home/vsftpduser目录作为vsftpduser的家目录
chown -R vsftpduser:vsftpduser /home/vsftpduser #将/home/vsftpduser的所属用户改为vsftpduser,所属用户组改为vsftpduser组
chmod -R 744 /home/vsftpduser #将权限修改为只有vsftpduser有完整权限,组用户和其他用户只有读权限 rwx

useradd -g projectx dev #添加用户dev,属于projectx用户组
sudo chown -R dev:projectx /srv/projectx #将/srv/projectx目录的所属用户改为dev,所属用户组改为/srv/projectx

grep 'bash$' /etc/passwd | cut -d ":" -f 1,3 > ~/users.txt #将当前系统中所有使用bash作为默认shell的可登录用户,提取用户名和uid,保存到当前用户加目录下的users.txt文件中

sudo su #切换到root
passwd stu #给stu改密码
usermod -p #使用这种方式,修改的是加密后的密码,所以无法登录

# vmstat

监视linux系统状态

# nginx常用命令

nginx -h #帮助
nginx -s (start/reload/stop) #启动/重启/停止
nginx -t #配置文件
nginx -V 2>&1 | sed 's/ /\n/g' #版本和配置参数信息
cat /etc/nginx/nginx.conf | grep -vE "#|^$" #查看配置文件时不显示注释和空白行

# apt常用命令

apt install (name) #下载
apt update #更新
apt remove #删除

# docker常用命令

docker images #列出所有镜像
docker run -d -p8080:80 [image_name] #8080映射到宿主机80端口
docker rm -f [container_id] #删除容器
docker exec -it [container_id] /bin/bash #进入容器命令行
docker cp 本地文件路径 [container_id]:容器路径  #复制文件到容器中
service apache2 restart #重启apache2服务器
docker commit -m="has update" -a="mukee" [container_id] runoob/ubuntu:v2 #更新镜像
docker restart [container_id] #重启容器
Last Updated: 6/10/2023, 10:28:40 PM