Linux基本命令
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。
操作系统
主要作用是管理好硬件设备,并为用户和应用程序提供一个简单的接口,便于使用,作为中间人,连接软件和硬件
Linux文件和目录

/bin[重点] (/usr/bin、/usr/local/bin)
是Binarv的缩写,这个目录存放着最经常使用的命令。/sbin (/usr/sbin、/usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。/home[重点]
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。/root[重点]
该目录为系统管理员,也称作超级权限者的用户主目录。/boot[重点]
存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/proc
这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息。/srv
service缩写,该目录存放一些服务启动之后需要提取的数据。/sys
这是linux2.6内核的一个很大的变化。该目录下安装了26内核中新出现的一个文件系线。/tmp
这个目录是用来存放一些临时文件的。/dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。/media[重点]
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。/mnt[重点]
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。d:/myshare
/opt
这是给主机额外安装软件所摆放的目录。如安装ORACLE数据库就可放到该目录下。默认为空。
/usr/local[重点]
这是另一个给主机额外安装软件所安装的目录。一般是通过编译源码方式安装的程序。/var[重点]
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。
/selinux[security-enhanced linux]360
SELinux是一种安全子系统,它能控制程序只能访问特定文件。
文件和文件夹操作
1 | #终端命令格式 |
cd
(change diectory) 切换到文件夹
1 | - cd /home 绝对路径,以根目录开头 |
pwd(print work diectory) 查看当前所在文件夹
ls
(list) 查看目录内容
1 | - ls -l 显示详细列表 |

1 | drwxrwxr-x d代表文件夹 -代表文件 |
通配符
| 通配符 | 解释 |
|---|---|
| * | 代表人任意个字符 |
| ? | 代表任意一个字符,至少是一个 |
| [] | 掉膘可以匹配字符组中的任意一个 |
| [abc] | 匹配abc中的任意一个 |
| [a-f] | 匹配a到f范围内的任意一个字符 |
配合通配符使用
1 | - ls *txt 查看当前文件夹下以txt结尾的所有文件 |
mkdir
如果有要创建的文件夹重名,不要内需创建
(make diectory) 创建文件夹(相对路径,当前目录下创建文件夹)
1 | - mkdir /home/admin/(绝对路径) |
touch
如果文件不存在,创建空文件。如果文件存在,修改文件的末次修改日期
1 | - touch abc.txt 在当前目录下创建 如果指定了目录,必须保证上级目录存在 |
rm
删除文件
1 | - rm a.txt 删除文件 |
cp
复制
1 | cp a.txt b.txt |
| mer | 描述 |
|---|---|
| -a | 该选项通常在复制目录时候使用,它保留链接,文件属性,并递归分复制目录,总之保留文件原有的属性 |
| -f | 覆盖已经存在的目标文件而且不提示 |
| -i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
| -r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有目录和文件,目标文件必须为一个目录名 |
| -v | 显示拷贝进度 |
mv
移动
1 | - mv 1.txt 2.txt 重命名 |
查阅命令帮助信息
1 | command --help |
使用man时候操作键
| 操作建 | 解释 |
|---|---|
| 空格 | 显示手册下一页 |
| Enter | 一次滚动手册的一页 |
| b | 回滚一页 |
| r | 前滚一页 |
| q | 退出 |
| /word | 搜索word字符串 |
其它命令行
重定向
echo
1 | echo hello linux #输出命令hello linux |
重定向 >和>>
1 | 命令/文件 将命令返回的数据写入文件中,若命令没有返回则文件为空 |
管道
linux允许一个命令的输出通过管道作为另外一个命令的输入
1 | ls -al/ 显示根目录下的文件 |
find查找文件
1 | find /home -name 1.txt 在/home 目录中查找文件名为1.txt的文件 |
ln 链接
软链接
| 序号 | 命令 | 解释 |
|---|---|---|
| 1 | ln -s 被链接的源文件 软链接名 | 软链接只记住文件名,指向文件名的文件,不会管文件内容,类似快捷方式 |
1 | 使用软连接时候要使用绝对路径,方便移动文件后链接能够正常使用 |
硬链接
和软连接相比少了个
-s选项
1 | 硬链接本身占空间,相当于把源文件复制一份,与源文件同步变化,不能给目录创建硬链接 |

Ubuntu的软件安装apt
- apt是
Advanced Packing Tool,是Linux下的安装包管理工具 - 可以在终端中安装卸载更新
1 | 安装软件 |
文件内容命令
cat
concatenate(连接合并)查看文件内容
1 | #显示全部内容 |
grep文本搜索
LInux系统中grep命令是一个强大的文本搜索工具,grep允许对文本文件进行模式查找,如果找到匹配模式,grep打印包含模式的所有行
1 | grep [-选项] '搜索内容串' 文件名 |
在grep命令中输入字符串参数时候,最好引号扩起来
1 | grep 'a' 1.txt |
| 选项 | 描述 |
|---|---|
| -v | 显示不包含匹配文本的所有行(相当于求反) |
| -n | 显示匹配行及行号 |
| -i | 忽略大小写 |
grep搜索内容串可以是正则表达式
| 参数 | 描述 |
|---|---|
| ^a | 行首,搜寻以a开头的行:grep -n '^a' 1.txt |
| end$ | 行尾,搜寻以end结束的行:grep -n 'end$' 1.txt |
| [Ss]igna[Ll] | 行首行尾忽略大小写 |
| . | (点)匹配一个非换行符的字符; 匹配e和e之间有任意一个字符,可以匹配 eee,eae.eve,但是不匹配 ee,eaae; grep -n e.e’ 1.txt |
远程管理命令
关机重启
| 命令 | 描述 |
|---|---|
| reboot | 重新启动操作系统(不需要权限) |
| shutdown -r now | 重新启动操作系统,shutdown会给别的用户提示 |
| shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
| shutdown -h 20:25 | 系统在今天的20:25关机 |
| shutdown -h +10 | 系统在输入命令后十分钟自动关机 |
| shutdown -c | 取消关机 |
网卡信息命令
| 命令 | 释义 | 作用 |
|---|---|---|
| ifconfig | configure a network interface | 查看和配置网卡配置信息 |
| ping ip | ping | 检测到目标ip地址的连接是否正常 |
查看网卡对应的ip地址
ifconfig | grep inet
检测本地网卡是否正常
ping 127.0.0.1
SSh(secure shell)
常见服务端口号列表:
| 服务 | 端口号 |
|---|---|
| SSH服务器 | 22 |
| web服务器 | 80 |
| HTTPS | 443 |
| FTP | 21 |
SSH简单使用
1 | ssh [-p port] user@remote |
- uer是在远程服务器上的用户名 ,不指定默认就是当前用户
- remote是远程机器的地址,可以是ip/域名,或者是别名
- port是SSH Server监听的端口,如果不指定,默认22
- 使用
exit退出当前用户的登录
ssh免密码登录
1 | ssh-keygen #在.ssh文件夹下生成id_rsa 和 id_rsa.pub 文件 |
配置别名
在.ssh/config中追加一下内容:
1 | Host nickname |
之后可以使用ssh nickname可以直接登录远程服务器
scp
secure copy 远程拷贝命令
1 | #将远程加目录下Desktop/1.py复制到本地目录下 |
用户权限命令

who查看登陆用户信息

| 选项 | 描述 |
|---|---|
| -q –count | 只显示用户的登录账号和登录用户的数量 |
| -u –heading | 只列标题 |
chown
修改文件/文件夹所有者
1 | sudo chown zhangsan python/ #将python文件所有者换为张三 |
chgrp
修改文件/文件夹所在组
1 | sudo chgrp -R zhangsan python/ #将python文件所在组换为张三,-R对文件夹递归操作 |
chmod修改文件权限
chmod修改文件权限有两种格式:字母法和数字法
1 | 字母法:chmod u/g/o/a +/-/= rwx 文件 |
| 参数 | 描述 |
|---|---|
| u | user表示该文件的所有者 |
| g | group表示与该文件所有者一组的,即用户组 |
| o | other表示其他意外的人 |
| a | all表示这三者皆是 |
| 参数 | 描述 |
|---|---|
| + | 增加权限 |
| - | 减少权限 |
| = | 设定权限 |
| 参数 | 描述 |
|---|---|
| r | read 表示可以读取,没有r权限非可读 |
| w | write可写入权限 |
| x | excute可执行权限 |
数字法
| 参数 | 描述 |
|---|---|
| r | 代号4 |
| w | 代号2 |
| x | 代号1 |
| - | 代号0,不具备任何权限 |
1 | 执行 chmod u = rwx,g = rx,o-f filename 相当于 chmod u = 7,g = 5,o = 4 filename |
用户管理命令
创建/设置密码/删除用户
| 序号 | 命令 | 作用 | 说明 |
|---|---|---|---|
| 01 | useradd -m -g 组新建用户名 | 添加新用户 | -m 自动建立用户家目录 -g指定用户所在的组,否则会建立一个和用户名同名的组 |
| 02 | passwd 用户名 | 设置用户密码 | 普通用户可以直接用passwd修改 |
| 03 | userdel -r 用户名 | 删除用户 | -r 选项会自动删除家目录 |
| 04 | cat /etc/passwd |grep 用户名 | 确认用户信息 | 新建用户信息保存在passwd文件 |
查看用户信息
| 序号 | 命令 | 解释 |
|---|---|---|
| 1 | id username | 查看用户UID和GID信息 |
| 2 | who | 查看当前所有登录的用户列表 |
| 3 | whoami | 查看当前登录用户的账户名 |
/etc/passwd存放的是用户信息:
- 用户名
- 密码(x表示加密)
- UID
- GID(组标识)
- 用户全名和本地账号
- 家目录
- 用户登录使用的Shell

which
查询命令在系统中的保存位置

/etc/passwd是用于保存用户信息的文件
/usr/bin/passwd是用于修改用户密码的程序
bin和sbin
- 在linux中大多数可执行文件保存在
/bin/sbin/usr/bin/usr/sbin /bin(binary)是二进制执行文件目录,用于具体应用/sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理/usr/bin(user commands for applications)后期安装的一些软件/usr/sbin(super user commands for applications)超级用户的一些管理程序
su切换用户
| 序号 | 命令 | 作用 | 解释 |
|---|---|---|---|
| 1 | su -username | 切换用户,并且切换目录 | - 可以切换到用户家目录,否则保持位置不变 |
| 2 | exit | 退出当前登录账户 |
系统信息命令
时间date和cal
| 序号 | 命令 | 解释 |
|---|---|---|
| 1 | date | 查看系统当前时间 |
| 2 | cal | calendar 查看日历,-y选项可以查看一年的日历 |
磁盘信息
| 序号 | 命令 | 解释 |
|---|---|---|
| 1 | df -h | disk free 显示磁盘剩余空间 |
| 2 | du -h 【目录名】 | disk usage显示目录下的文件大小 |
进程信息
| 序号 | 命令 | 解释 |
|---|---|---|
| 1 | ps aux | process status 查看进程详细状况 |
| 2 | top | 动态显示运行中的进程并且进行排序 |
| 3 | kill [-9] 进程代号 | 种植指定代号的进程 -9表示强行终止 |
ps默认只会显示当前用户通过终端启动的应用程序
| 选型 | 解释 |
|---|---|
| a | 显示终端上所有的进程,包括其他用户的进程 |
| u | 显示进程的详细状态 |
| x | 显示没有控制终端的进程 |
压缩命令
tar打包命令(没有压缩)
1 | 打包 |
tar很特殊,其参数前面可以使用-也可以不使用
| 参数 | 描述 |
|---|---|
| -c | 生成档案文档,创建打包文件 |
| -v | 列出归档解档的详细过程,显示进度 |
| -f | 指定档案文件名称 |
| -t | 列出档案中包含的文件 |
| -x | 解开档案文件 |
gzip文件压缩
1 | 压缩打包后的文件 |
tar命令和gzip命令结合
1 | 一步打包压缩 |
bzip2文件压缩
1 | 一步打包压缩 |
zip unzip 文件压缩
1 | 压缩文件 |
压缩率:zip<gzip<bzip2,zip最通用
