Ubuntu学习笔记

1.Linux帮助命令

man xxx 例如 man ls 如果显示英文先按下面安装

有问题找那个男人

apt install -y manpages-zh language-pack-zh-hans

vim /etc/default/locale

将LANG=C.UTF-8修改为LANG=zh_CN.UTF-8

然后重新连接ssh

man xxx 帮助命令就会显示中文

help xxx 没有那么强大 help只针对shell内置命令的帮助(老一代)

2.开关机命令

关机命令

poweroff 等同于 shutdown -h now

上面两条 底层都调用systemctl poweroff

shutdown -h 10 10分钟之后关机 shutdown -h 1000 1000分钟之后关机

shutdown -c 不想关机了,取消关机

重启

reboot

3.服务管理类命令介绍

centos6:

service 服务名 start|stop|restart|status

centos7:

systemctl start|stop|restart|status 服务名

你可以在

/usr/lib/systemd/system/ 和 /etc/systemd/system/ 目录下定义服务

示例

vim /etc/systemd/system/nginx.service

复制代码
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target
 
[Service]
Type=forking
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target



也可以指定配置文件
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
# 启动前测试配置文件语法
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
# 启动 Nginx
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
# 重载配置(不中断服务)
ExecReload=/usr/local/nginx/sbin/nginx -s reload -c /usr/local/nginx/conf/nginx.conf
# 优雅停止
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PIDFile=/usr/local/nginx/logs/nginx.pid
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl enable nginx.service 注意.service可以不写 开机自启 注意要和上面xxx.service的xxx相同

systemctl disable nginx 取消开机自启

systemctl is-enabled nginx 查看nginx服务是否自动开机启动

systemctl list-unit-files 查看所有服务自启配置

system start|restart|stop|status nginx

每次修改服务 需要重新加载配置 并 重启

systemctl daemon-reload #重新加载配置

systemctl restart nginx #重启

systemctl --type service 查看当前运行着哪些服务

systemctl status firewalld 查看防火墙状态

systemctl enable firewalld

Ubuntu

ufw enable

ufw status

ufw allow 22/tcp

ufw allow 80/tcp

ufw delete allow 80/tcp

4.文件目录类命令

pwd #打印当前所在目录 绝对路径

ls -a #横向查看当前目录所有文件及文件夹

ls -l -a 简写 ll

关于cd -P

例如 /bin其实是/usr/bin的软链接

如果你执行 cd -P /bin 实际跳转的是/usr/bin目录

mkdir /usr/local/develop #创建目录 /usr/local本身就有的情况下

mkdir -p /usr/local/develop/jdk #创建多级目录 例如develop和jdk不存在

rmdir /usr/local/develop #只能删除空文件夹

rm -rf /usr/local/develop #删除develop和里面的所有内容

touch xxx #创建文件

cp xxx /usr/local/develop #复制当前文件xxx到/usr/local/develop

cp -r xxx /usr/local/develop #复制当前文件夹xxx及所有内容到/usr/local/develop下

scp xxx root@192.168.1.10:/usr/local/develop #将本地当前目录下xxx复制到远程 文件夹用-r

scp root@192.168.1.10:/usr/local/develop/xxx . #将远程下载到本地 文件夹用-r

scp 源文件 目标目录 #文件夹用-r

scp -P 2222 file.txt root@192.168.1.10:/opt/ #表示连接远程时使用2222端口 文件夹用-r

rm -rf xxx #删除文件 rm xxx 删除文件夹 rm -rf xxx -f意思强制删除

mv 剪切 也可以改名

mv html /usr/local/nginx/html8 #将当前的html文件移动到/usr/local/nginx/html8并改名

如果是文件夹 mv -r xxx 到xxx

文件查看

cat xxx #全部在控制台打印

cat -n xxx #全部在控制台打印并显示行号

head xxx #控制台打印文件前10行

head -n 20 xxx #控制台打印文件前20行

tail xxx #控制台打印文件末尾10行

tail -n 200 -f xxx #实时打印xxx文件末尾200行

more xxx #控制台一页一页翻 空格:下一页 b:上一页 q:退出

less xxx #控制台支持上下键翻页

echo "hello world" > xxx.txt #输出hello world到xxx.txt文件

echo "123">> xxx.txt #输出123到xxx.txt 追加到末尾

ll > xxx #将ll命令在控制台的输出"覆盖写入" xxx

ll >> xxx #将ll命令在控制台的输出"追加写入" xxx

cat 文件 > xxx #将文件的内容写入 xxx

软链接 注意 创建软链接时候 都要使用绝对路径

ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf #会自动创建/etc/nginx.conf指向原文件

硬连接 去掉 -s

vim xxx 修改文件

:w 保存

:q 退出

:wq 保存并退出

:q! 不保存,强制退出

:wq! 强制退出并保存

修改主机名

hostname #查看主机名

hostnamectl set-hostname hrui #修改主机名为hrui 命令方式

修改配置文件方式

vim /etc/hostname #修改主机名

还要修改映射

vim /etc/hosts

systemctl restart systemd-hostnamed

ping hrui就可以ping通 但是显示主机名还没有改变 需要重启 reboot才可以

因此 修改主机名 最好用命令方式

hostnamectl set-hostname hrui #重连ssh就可以 要ping 需要等会

5.时间日期类命令

date #显示当前时间

date +%Y #显示当前年份

date+%m #显示当前月份

date +%d #显示当前日期

date "+%Y-%m-%d %H:%M:%S" #2025-11-01 21:46:59

6.用户管理类命令

adduser hrui #创建用户hrui useradd -m 该命令比较老 需要加参数

passwd hrui #给用户hrui加密码

usermod -aG sudo hrui #给用户加sudo权限

userdel -r hrui #删除hrui账号 并删除家目录

usermod -s /usr/sbin/nologin hrui #禁止用户登录

如果创建完用户想给予全部权限

visudo #编辑 和 vim /etc/sudoers 编辑的都是同一个文件

hrui ALL=(ALL:ALL) ALL

切换用户

su xxx

su - xxx

加不加-的区别是使用当前用户的环境变了还是使用切换之后用户的环境变量

7.组管理命令

创建用户时 会自动创建和用户名相同的组

groupadd 组名

vim /etc/group #查看系统组及自定义组

groupdel xxx #删除某个组

usermod -g 用户组 用户名 #将用户放入修改到某个组

8.文件权限命令

chmod u+x /xxx #给xxx文件添加拥有者写入的权限

chmod +x xxx #所有用户对xxx文件都有写入权限

chmod g+r xxx #组内成员都可以对xxx进行读

chmod u+r,g+w xxx #修改xxx文件拥有者读的权限 组内成员有写的权限

r=4

w=2

x=1

chmod 777 xxx #理解777 rwx=7 rwx=7 rwx=7 合起来就是777

9.查找类命令

find [查询范围] -name|-user| -size|-type xxx

find . -name "config.txt" #查找当前目录下文件名为config.txt文件

fina /home -name "*.jpg" #查看/home下所有后缀是.jpg的文件

find /usr/local/develop -user hrui #查找/usr/local/develop下是用户hrui的文件

find / -size +100M #查找大于100M的文件

find / -size -1k #查看小于1kb的文件

find / -type f -name "*.txt" #查找后缀是.txt的文件

find / -type d -name "log" #查找所有log文件夹

管道符"|" 和grep 过滤

"|" 管道付的表示将前面一个命令的处理结果输出传递给后面的命令

例如 ls | grep -n text #查找某个文件在第几行

10.压缩和解压命令

tar -czvf xxx.tar.gz file #将文件或者文件夹file 压缩为xxx.tar.gz

tar -xzvf xxx.tar.gz #解压xxx.tar.gz

tar -xzvf xxx.tar.gz -C yyyy #将xxx.tar 解压到当前yyyy之内

11.磁盘分区命令

df -h #查看磁盘使用情况

fdisk -l #查看磁盘分区详情

lsblk #查看磁盘

分区

fdisk /dev/sda|sdb|sdc #注意看lsblk的结果

mkfs.ext4 /dev/sdb1 #格式化

挂载

建立挂载点

mkdir /data

mount /dev/sdb1 /data

12.进程类命令

ps -aux |grep xxx #查看xxx在系统所有进程

ps -ef|grep xxx #查看xxx子父进程之间的关系

kill PID #正常结束

kill -9 PID #强制结束

pkill java #按名字匹配结束

killall java #按名字匹配结束

13.定时任务命令

systemctl restart crond

crontab

-e #编辑crontab定时任务

-l #查询crontab定时任务

-f #删除当前用户所有的crontab定时任务

相关推荐
musenh8 小时前
javascript学习
开发语言·javascript·学习
凉、介8 小时前
ARM 总线技术 —— APB
arm开发·笔记·学习
爱奥尼欧8 小时前
【Linux笔记】网络部分——网络层IP协议
linux·网络·笔记
Summer_Uncle8 小时前
【C++学习】对象特性--继承
开发语言·c++·学习
AI_56789 小时前
AI换脸技术安全指南:3条法律红线与合规实践
人工智能·学习·it
Eternal-Student10 小时前
【ubuntu】在Linux系统上安装Microsoft Edge浏览器
linux·ubuntu·microsoft
凌然先生11 小时前
17.如何利用ArcGIS进行空间统计分析
经验分享·笔记·arcgis·电脑
小鱼小鱼.oO11 小时前
java后端学习经验分享(大三进大厂版)
java·经验分享·学习
我的xiaodoujiao11 小时前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 22--数据驱动--参数化处理 Json 文件
python·学习·测试工具·pytest