Linux 操作系统:Ubuntu, RedHat, CentOS
特点:注重安全性;稳定性;高并发。在 Linux 世界里,一切皆文件,最上层是根目录 “/”
- root: 管理员目录;usr: 系统资源目录;home: 用户目录(用户登陆后,默认打开);
- bin: 系统预装的可执行程序,可在系统的任何目录下执行;usr/local/bin: 用户的可执行程序,可在系统的任何目录下执行;
opt: 额外安装软件存放的目录; - lib, usr/lib: 动态链接共享库;etc: 配置文件(环境变量
/etc/profile
);boot: Linux 启动核心文件;dev: Linux 外部设备;
var: 存放经常被修改的文件;tmp: 存放临时文件;
命令官方查询网站,可以访问 https://man.linuxde.net/
Linux 实际常用命令如下:
vi
和 vim
命令:
三种常见模式:一般模式(跳首行 gg
, 跳末行 G
);编辑模式(按 i
进入);命令行模式(按 :
进入 :wq, :q, :q!, :set nu, :set nonu
)。
- 一般模式下
xyy
复制当前x行;p
粘贴到光标所在下一行;xdd
删除当前x行;u
撤销。 - 命令行模式下
:/your_keyword
查找keyword
,n
查找下一个。 - 或者可以使用
head -n x
查看前x
行;tail -n x
查看后x
行。
文件目录命令:
- 显示当前路径
pwd
; - 显示文件
ls [option][file]
,-a
显示全部,-l
列表显示; - 切换目录
cd
, 回到自己的主目录cd ~
, 回到上一级目录cd ..
; - 创建目录
mkdir [option] my_dir
,-p
创建多级;删除目录rmdir [option] my_dir
,-rf
逐级删除; - 创建文件
touch file_name1, file_name2 ...
;删除文件rm [option] my_dir
,-r
递归,-f
强制不提醒; - 复制目录
cp [option] my_dir
,-r
递归复制; - 移动文件
mv file targetFolder
,mv oldNameFile newNameFile
(重命名);
压缩解压命令
- *.gz 文件:(针对单个文件操作)
gzip file_name
压缩文件并覆盖原文件位置;gunzip file_name
解压文件并覆盖原文件位置; - *.zip 文件:
zip [option] xxx.zip file_name
压缩成为xxx.zip
文件,-r
用于压缩目录;unzip [option] xxx.zip
解压xxx.zip
文件,-d
指定解压后文件的存放目录; - *.tar.gz 文件(
zvf
一般都带着):tar [option] xxx.tar.gz [file_name]
打包或者解包,-c
产生.tar.gz
打包文件;-x
解压.tar.gz
文件;-v
显示详细信息;-f
指定压缩后的文件名;-z
打包的同时压缩;-C
指定解压目录。
显示查找命令:
- 输出常量
xxx
或者变量yyy
到控制台:echo xxx, echo $yyy
; - find 默认在当前目录下按名字:
find [搜索目录] [option]
,-user username
按用户名查找,-size +5M
按文件大小查找;
locate 在整个系统中快速定位文件路径:locate file_name
, 更新数据库updatedb
;
grep 过滤查找所需特定内容:| grep [option] keyword
,-n
显示匹配到的行号,-i
忽略大小写; - 将显示查找指令的结果写到目标文件
dest
中:> dest
(覆盖写),>> dest
(追加写);
转化格式:
- 首先打开文件
vim filename
; - 用命令
:set ff?
查看dos或unix的字样; - 如果是dos格式的,用
:set ff=unix
把它强制为unix格式的, 然后存盘退出即可。
用户管理命令:
- 添加用户:
useradd [-g group_name] username
在/home
下创建usrname
目录;passwd username
为username
设置密码。
删除用户:userdel username
保留主目录;userdel -r username
不保留主目录。
查询与切换用户:id username
和su username
。 - 任何用户都至少属于一个组,不指定则新建与用户名同名的组
添加和删除组:groupadd group_name
和groupdel group_name
。
从组中添加和删除用户:gpasswd -a username group_name
和gpasswd -d username group_name
。
查看文件所有者和所在组:ls -ahl
;修改文件所有者:chown newowner file
,-R
递归修改;修改文件所在组:chgrp newgroup file
。
修改权限(r4 w2 x1
):chmod xxx file_name
等效于chmod u=rwx,g=rwx,o=rwx
。
软件包管理:
- RPM:
rpm -qa
查询所安装的所有软件包;rpm -e [option] pkg_name
删除软件包,--nodeps
强制删除; - YUM:
yum list[ installed] | grep xx
查看;yum install pkg_name
安装; - apt-get:
sudo apt-get install package_name
安装;sudo apt-get autoremove package_name
删除;
进程管理命令:
- 查看:
ps
,-a
当前终端下所有,-u
以用户,-x
后台进程,-e
所有进程,-f
全格式显示;
USER
用户名,PID
进程号,%CPU
进程占用CPU比,%MEM
进程占用物理内存比;VSZ
占虚拟内存大小(KB);RSS
占物理内存大小(KB);TT
终端名称;STAT
状态 (S-睡眠,s-先导进程,N-低优先级,R-运行,D-短期等待,Z-僵死,T-终止);STARTED
启动时间;TIME
使用的CPU时间;COMMAND
启动进程所用命令;PPID
父进程ID;C
CPU 资源使用占比;PRI
优先级;SZ
用掉的内存;
- 终止:
kill [option] PID
,-9
强迫进程立即停止; - 守护进程(服务)管理:
systemctl start, stop, restart, reload, status, enable 服务名称
,服务有firewalld,
;
配置 Linux 网络:
修改 /etc/sysconfig/network-scripts/ifcfg-eth33
系统操作命令:
立刻关机: shutdown now
;1小时关机: shutdown -h 1
;立刻重启: reboot
。
其他操作时常用
查看当前目录下的文件总大小:du -sk ./
(以KB为单位) or du -sm ./
(以MB为单位)。
Linux删除文件失败 rm: cannot remove xxx. Device or resource busy 的解决方案:
lsof +D 无法删除的文件路径
后会显示由于那些程序在运行导致的无法删除,根据提示 `kill -9 PID
统计当前目录下所有文件(包括子目录)的数量: ls -lR| grep “^-” | wc -l