Linux常用命令
使用提示
tab键命令行自动补全
上下键可以把过去执行过的命令显示出来
Linux常用命令的简单说明
一般来说著名的linux系统基本上分两大类:
RedHat系列:Redhat、Centos、Fedora等
Debian系列:Debian、Ubuntu等
RedHat 系列
常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参数”
包管理工具 yum
支持tar包
Debian系列
常见的安装包格式 deb包,安装deb包的命令是“dpkg -参数”
包管理工具 apt-get
支持tar包
yum可以用于运作rpm包,例如在Fedora系统上对某个软件的管理:
yum [options] [command] [package …]
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
command:要进行的操作。
package:安装的包名
安装:yum install 包名
卸载:yum remove 包名
更新:yum update 包名
查找:yum search 包名
apt-get可以用于运作deb包,例如在Ubuntu系统上对某个软件的管理:
安装:apt-get install
卸载:apt-get remove
更新:apt-get update
wget不是安装方式,它是一种下载工具,类似于迅雷。
通过HTTP、HTTPS、FTP三个最常见的TCP/IP协议下载,并可以使用HTTP代理,
名字是World Wide Web”与“get”的结合。如果要下载一个软件,可以直接运行:
wget 下载地址
如果当前ubuntu未安装wget,可按下列操作进行安装和检查是否安装成功:
sudo apt-get update
sudo apt-get install wget
wget --version
ln 命令
命令格式:
ln [参数] [源文件或目录] [目标文件或目录]
参数:
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
示例:
建立软连接
ln -s /root/mysql /usr/local/mysql
文件和目录操作命令
Pwd命令:
用于显示当前操作的路径位置(当前工作文件夹)
ls命令:
格式:
ls【选项】 【文件或文件夹名】
常用选项:
-l 列表显示文件的详细信息
-a 显示全部文件/文件夹(包含,开头的文件)
作用:
用于显示指定目录的文件或文件夹信息
linux下的路径
路径 path
路径是用来记录一个文件或文件夹位置的字符串
例如:
/home/tarena
/home/tarena/aid1808/linux/day01
Linux路径分为两种:
1.绝对路径
2.相对路径
绝对路径:
以‘/’字符开头的路径为绝对路径
相对路径:
不以‘/’来头的路径为相对路径
开始符号有:
文件/文件夹名
.当前文件夹
..上一级文件夹
~用户住目录
cd命令
作用:
改变当前工作路径
格式:
cd【目录名】
示例:
cd /home
cd /
cd # 默认不辞而目录名相当于 cd ~
cd … # 去上一级目录
cd ~ #返回用户主目录(也叫夹目录)
mkdir 命令
创建一个文件夹或多分文件夹
格式:
mkdir 文件夹名1 文件夹名2
如:
mkdir aaaa bbbb cccc
常用选项:
-p 如果是中间文件夹不存在,则创建所有中间文件夹
rmdir 命令
删除一个或多个空的文件夹
格式:
rmdir 文件夹1 文件夹2 …
touch命令
作用:
创建文件或更新文件的修改时间
如:
touch a.txt
touch b.txt c.txt
touch a.txt
rm 命令
删除文件或文件夹
格式:
rm 【选项】文件/文件夹
常用选项:
-r 递归删除文件夹内部的文件夹和文件
-i 删除前给除提示(y代表yes,n代表no)
-f 强制删除,不给提示
文件管理相关的命令
cp命令
cp 【选项】 元文件或文件夹名 目标文件或文件夹名
作用:
复制文件或文件夹
示例:
cp day01.txt ~/桌面/
cp day01.txt `/day01bak.txt
常用选项:
-a 可以复制文件夹
mv 命令
作用:
文件移位置 或 更名
格式:
mv 源文件或文件夹名 目标文件或文件夹名
find 命令
作用:
根据文件名等信息查找指定文件
格式:
find 路径 -name “文件名”
如:
find /etc -name “passwd”
grep 命令
作用:
查找文件中相应的内容,几文本信息
格式:
grep “内容”【选项】文件名或路径
常用选项:
-n 显示行号
-r 递归搜索文件夹内的文件
gzip命令
用zip压缩算法对文件进行压缩,生成压缩后的文件
后缀名通常用 .gz结尾
命令格式:
gzip 文件名
gunzip 命令
对用zip 压缩算法夺压缩的.gz格式的数据进行压缩
示例:
gzip day01.txt
gunzip day01.txt .gz
打包,解包的命令
tar命令
作用:
对文件或文件夹进行打包和解包操作
格式:
tar【选项】文件名或路径
常用选项:
-c 创建包
-x 解包
-f 文件名 操作的文件
-v 显示操作的文件细节
-z 用gzip/gunzip对进行压缩或解压缩
示例:
tar -czvf ~/day01.tar.gz * #打包
tar -xzvf ~/day01.tar.gz #解包到当前目录
sudo 命令格式
作用:
用超级用户root 权限来执行这个命令
格式:
sudo 命令【选项】【参数】
常用选项:
-i 选项 切换到root用户
如:
# sudo -i #进入root 用户
通配符
* 代表0分,1个或多个任意字符
? 代表1个任意字符
help 选项
用于显示命令的帮助信息
示例:
ls–help
man 命令帮助
格式:
man linux/Unix 命令
示例:
man ls
退出键:q
防火墙相关命令
启动: systemctl start firewalld
查看状态: systemctl status firewalld
停止: systemctl disable firewalld
禁用: systemctl stop firewalld
进程管理相关命令
ps 命令
用于显示当前进程的状态
格式:
ps 选项
选项:
-A 列出所有的进程
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
-w 显示加宽可以显示较多的资讯
-u 用户名 显示指定用户的进程信息(如:-u root 显示用户root的进程信息)
-ef 显示所有进程信息,连同命令行
示例:
ps -A
查找指定进程
格式:
ps -ef | grep 进程关键字
示例:
显示 python 的进程
ps -ef | grep python
kill命令
发送指定的信号到相应进程。
不指定型号将发送SIGTERM(15)终止指定进程。
如果无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,使用ps命令或者jobs 命令可以查看进程号。
root用户将影响用户的进程,非root用户只能影响自己的进程。
格式:
kill 选项/信号 进程号
选项:
-l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
常用信号:
-HUP -1 终端断线
-INT -2 中断(同 Ctrl + C)
-QUIT -3 退出(同 Ctrl + \)
-TERM -15 终止
-KILL -9 强制终止
-CONT -18 继续(与STOP相反, fg/bg命令)
-STOP -19 暂停(同 Ctrl + Z)
示例:
kill -9 6500
rz命令
从当前系统传输文件到linux系统当中。
通过命令输入,弹出文件传输文件选择窗口,选择文件、目录,完成操作。
安装:yum install lrzsz
screen命令
同时开启多视窗的功能
安装:
yum install screen
rpm -qa|grep screen 验证是否安装
查看当前存在视窗:
screen -ls
screen -list
创建新视窗:
screen -S 名称
进入现存视窗:
screen -r 名称
强制进入现存视窗:
screen -D -r 名称
退出当前已进入的视窗:
Ctrl + A + D
关闭运行中的视窗:
screen -X -S 名称 quit
python命令
导出当前python环境包
pip3 freeze > 文件名(.txt)
通过文件(.txt)安装
pip3 install 文件名(.txt)
查看内/外网IP:
内网
ifconfig
外网
curl ifconfig.me
lsof命令
列出当前系统打开文件的工具
格式:
lsof 参数 目标名称
常用参数:
-a 表示两个参数都必须满足时才显示
-c 显示COMMAND列中包含指定字符的进程,所有打开的文件
-u 显示所属用户进程打开的文件
-g 显示归属gid的进程情况
+d 显示目录下被进程打开的文件
+D 显示目录下被进程打开的文件,另外会搜索目录下的所有目录(时间相对较长)
-d 显示指定文件描述符的进程
-i 用于显示复合条件的进程情况
输出各列信息的含义:
COMMAND:进程的名称
PID:进程标识符
USER:进程所有者
FD:文件描述符,应用程序通过文件描述符识别该文件(如:cwd、txt等)
TYPE:文件类型(如:DIR、REG等)
DEVICE:指定磁盘的名称
SIZE:文件的大小
NODE:索引节点(文件在磁盘上的标识)
NAME:打开文件的确切名称
示例:
查看8005端口的进程情况
lsof -i :8005
显示打开xxx的所有进程
lsof xxx
显示用户root的进程信息
lsof -u root
chmod命令
用于权限控制
符号模式
使用符号模式可以设置多个项目:who(用户类型),operator(操作符)和 permission(权限),每个项目的设置可以用逗号隔开。 命令 chmod 将修改 who 指定的用户类型对文件的访问权限,用户类型由一个或者多个字母在 who 的位置来说明。
who 的符号模式表
who | 用户类型 | 说明 |
| user | 文件所有者 |
| group | 文件所有者所在组 |
| others | 所有其他用户 |
| all | 所用用户, 相当于 ugo |
operator 的符号模式表
Operator | 说明 |
| 为指定的用户类型增加权限 |
| 去除指定用户类型的权限 |
| 设置指定用户权限的设置,即将用户类型的所有权限重新设置 |
permission 的符号模式表
模式 | 名字 | 说明 |
| 读 | 设置为可读权限 |
| 写 | 设置为可写权限 |
| 执行权限 | 设置为可执行权限 |
| 特殊执行权限 | 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 |
| setuid/gid | 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 |
| 粘贴位 | 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位 |
八进制语法
# | 权限 | rwx | 二进制 |
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r– | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | –x | 001 |
0 | 无 | — | 000 |
示例
将文件 file1.txt 设为所有人皆可读取
chmod ugo+r file1.txt
chmod a+r file1.txt
用数字来表示权限
chmod 777 file
语法为:
chmod abc file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
r=4,w=2,x=1
若要 rwx 属性则 4+2+1=7;
若要 rw- 属性则 4+2=6;
若要 r-x 属性则 4+1=5