☰
1. linux日常
2026/10/27 1:13:45 网站建设 项目流程
常用操作
  • Ctrl+A光标跳至命令行开头
  • Ctrl+E光标跳至命令行结尾
  • Ctrl+U删除光标之前的内容
  • Ctrl+K删除光标之后的内容
  • Ctrl+L清屏,相当于#clear
  • Ctrl+C退出当前正在执行的进程或退出当前正在编辑的命令行,开始新的一行命令等等
  • Ctrl+D退出当前用户,相当于#logout或#exit
  • Shift+pageup向上翻看内容
  • Shift+pagedown向下翻看内容
常用命令
  • cd /home 跳到某个目录(/home)下
  • 注意:如果cd后面没任何参数,则无论在哪个目录,都会直接跳到用户基本base目录下,如果要返回,之前的目录,则#cd - (减号)即可
  • ls /home 查看目标目录(/home)下的文件,如果ls后面不带目录参数,则查看当前目录文件
  • cp /home/a /usr/local/b 将源文件a(含目录)复制到名为b(含目录)的文件
  • mv /home/a /usr/local/b 将源文件a(含目录)剪切粘帖到名为b(含目录)文件
  • rm /home/a 删除a文件(夹),一般加参数-rf强制删除,如果a是文件夹,则文件夹中的内容一并删除
  • mkdir /home/a 在home下新建一个文件夹a
  • cat hello.txt 显示文件的文本信息
  • vi/vim hello.txt 编辑(新建)一个文件
  • pwd 查看当前所在位置(目录)
  • who 查看当前所有终端;tty 查看当前终端是哪个
  • history 历史命令
  • xxd -s 0 -l 8 file 以十六进制形式显示file的位置0开始,长度为8的数据
  • scp /home/file root@www.baidu.com:/home/dir

scp是从一个linux主机复制到另一个linux主机,它的基本格式是:scp [选项] 本地文件名 远程用户名@IP地址:远程文件名。注意:选项和cp类似,本地/远程文件名需要绝对路径,IP地址可以是域名:

scp administrator@192.168.3.137:E:/temp/klipper.zip /home/ysz/klipper.zip

将windows的E盘temp文件夹下的klipper.zip复制到/home/ysz下

  • rm -r !* !*代表上一行命令的参数,这里使用上一行命令的参数作rm的参数
属性命令
  • stat hello.txt 查看文件详细信息,可查看创建时间,修改时间,访问权限等
  • file a.out 查看文件类型,ascii文本文件,二进制可执行文件,超链接文件等
  • type ls 查看命令类型
  • which ls 查看命令位置
用户管理
  • 修改用户的各指令实际上是修改/etc/passwd(用户名),/etc/shadow(用户密码),/etc/group(用户组),/etc/gshadow(用户组密码,一般不用)这四个文件
  • 尽量不要直接修改上面的文件,比如改了/etc/passwd后,没有对应的密码,就不能使用sudo了,这时就登录不了,也操作不了了
  • id 查看当前用户名,用户组及id
  • useradd ysz 添加用户ysz,默认其uid会在已有的用户uid上+1

-g 指定用户组

-G指定副用户组

-s指定shell

-u指定uid
-d指定家目录
-m自动在/home下创建与用户名相同的家目录

-l newusername oldusername 修改用户名

useradd ysz -u 1100 -g YSZ -G test_group1,test_group2 -s /usr/sbin/nologin -d /ysz

  • userdel ysz 删除用户ysz

-r自动删除ysz相关家目录,日志等

  • groupdel ysz 删除组
  • groupmod ysz -g 1200 修改组的ID号
  • usermod ysz -u 1200 修改用户,这里的参数和useradd相似,差异就是它必须跟已经存在的用户名
  • passwd ysz 为用户ysz设置密码,如果不跟任何参数,就修改本用户密码
  • su root 切换用户到root
  • id 查看当前用户/组信息,-u当前用户uid编号
文件权限管理

一个文件的权限就是文件相对于各用户开放的权限,r可读,w可修改,x可执行

  • ls -l 查看文件权限,十个字符,第1个字符是文件类型,后面是三组(UGO)权限,分别是U(用户权限),G(所属组权限),O(其它用户的权限)
  • chown user.group file.txt 将file.txt所属的用户改为user,组改为group,这里用户和组可以只要一个
  • chmod o+x file.txt 使O(其它用户)对file.txt有执行的权限
  • chmod g-w file.txt 去除所属组对file.txt的写权限
  • chmod a=r-x file.txt 对all(所有用户)开放读和执行
  • chmod u=rwx,g=rx,o=x file.txt 对所有者开放读写执行,所属组开放读执行,其它用户只能执行
服务
  • 服务状态:sudo systemctl status sshd
  • 停止服务:sudo systemctl stop sshd
  • 开启服务:sudo systemctl start sshd
  • 禁止开机启动:sudo systemctl disable sshd
  • 使能开机启动:sudo systemctl enable sshd
  • 查看当前所有已经注册的服务:sudo systemctl list-unit-files --type=service
  • 卸载服务过程:查看所有服务获取准确的服务名 -> 停止服务 -> 禁止开机启动 -> 删除配置文件/etc/systemd/system/服务名.service -> 删除服务所有日志文件/var/log/服务名/* -> 删除服务所有库文件/var/lib/服务名/*
界面
  • 开机后不进入图形界面:sudo systemctl set-default multi-user.target
  • 开机后进入图形界面:sudo systemctl set-default graphical.target
  • 查看当前进入模式:sudo systemctl get-default
磁盘命令
  • df -h 查看磁盘信息
  • free -h 查看内存信息
  • du -sh dir/ 查看文件夹占用磁盘大小,s只显示整个文件夹大小,不加s则会显示里面的各目录大小,h显示人能理解的大小单位,如G,M,K等
  • lsblk 查看设备挂载信息
  • truncate -s 2G /path/to/file 给file分配大小为2G的空间; truncate -s +500M /path/to/file为file追加500M的空间
  • dd if=/dev/zero of=/path/to/file bs=1M count=500 复制一段内容(/dev/zero中取出的数据,即零数据)到file中,每段是1M,复制500段。这可以替代truncate分配文件空间,但是它是会写入数据的,truncate则不会写入
  • mkfs.ext4 /path/to/file 格式化文件为ext4格式
  • sudo mount /path/to/file /path2/to/dir 将文件挂载到dir上
网络
  • netstat -an 查看当前所有连接(与windows命令一致),-a显示所有,-n在linux上不解析名称/windows上以数字形式显示端口号和地址,-t在linux上显示tcp连接,-u在linux上显示udp连接,-p在linux上显示PID
  • ss与netstat类似
  • curl ipinfo.io/ip 请求并返回公网IP(与windows命令一致),curl ipconfig.me同样的功能(仅linux上可用)
  • ifconfig 或者 ip a查看当前联网状态以及IP(内网)地址,hostname -I也可以查看,windows上为ipconfig
  • ip link set eth0 down/up 关闭/打开网络适配器eth0,与ifdown/ifup eth0一致
内核与系统相关
  • uname -a 查看内核信息(全部) -r 只看内核版本
  • lscpu 查看CPU主频/架构等信息
  • cat /proc/cpuinfo 动态的查看当前CPU状态,以及可能的一些主板信息
  • ps aux 查看进程(静态),ps -eo uid,pid,state,nice,rtprio,time,comm可指定查看进程的状态,优先级,命令等, ps -el查看内核线程
  • top 动态进程
时间相关
  • date 查看当前时间日期,date -s "2026-10-10 12:30:00",设置系统时间
  • sudo hwclock --systohc 将当前时间写到RTC时钟,断电重启后,系统时间不丢失
  • timedatectl status 查看当前时区等信息
  • timedatectl list-timezones 查看所有可用时区,timedatectl set-timezone Asia/Shanghai设置时区
  • 时间自动同步需要ntp服务,可以使用systemctl status ntp查看它是否启用
调试命令
  • dmesg 查看内核启动,硬件驱动等相关信息,对系统应用开发非常重要
  • journalctl 基于systemd日志系统,可以查看系统运行中各服务的日志信息

journalctl -u nginx #过滤查看,只看与nginx有关的服务日志

journalctl -f #动态实时显示最新日志

journalctl _PID=2210 #PID过滤,只查看进程PID为2210的日志

journalctl --since="2024-07-22" --until="2024-07-25"查看从20240722到20240725期间的日志

  • zcat /proc/config.gz 查看内核配置(SDK级)选项
  • uptime或top查看CPU负载

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询