Linux的常用命令:
终端命令格式
|
|
- command :命令名,相应功能的英文单词或单词的缩写
- [-options] :选项,可用来对命令进行控制,也可以省略
- parameter :传给命令的参数,可以是 零个、一个 或者 多个
常用命令
| 命令 | 描述 |
|---|---|
| ls | 查看当前目录下的文件列表。 -l 显示详细信息;-a 显示包括隐藏文件在内的所有文件;-h 以人类可读方式显示大小;-t 按修改时间排序;-r 逆序显示;-i 查看文件的 inode |
| cat | cat 文件名 查看该文件的内容。-b 对非空输出行编号;-n 对输出的所有行编号 |
| more | 分屏显示文件内容 |
| grep | 搜索文本文件内容。-n 显示匹配行及行号;-v 显示不包含匹配文本的所有行(相当于求反);-i 忽略大小写 |
| clear | 清屏 |
| ln | ln (-s 表示软连接,不加为硬链接) 被指向文件 link文件 |
| rm | rm 文件名 删除该文件 |
| chmod | 修改文件权限。 符号模式:chmod +(r/w/x) 文件名 增加权限,- 减少权限;可用 u/g/o 分别指定所有者/组/其他用户,如 ug+rw。 数字模式:r=4, w=2, x=1,如 chmod 777 test1.txt |
| touch | 更新文件的修改时间为当前时间;若文件不存在,则创建空文件 |
| ↑/↓ 方向键 | 在终端中查找历史输入过的命令 |
| pwd | 显示当前所在目录的路径 |
| cd | cd 目录 切换工作目录,例如 cd / 切换到根目录 |
| cp | 复制文件或目录:cp 源文件 目标文件。 复制目录需加 -r 参数递归复制,如 cp -r folder1 foldercopy |
| mv | 重命名文件或移动文件:mv 文件1 文件2(文件1被重命名为文件2 或 移动到新位置) |
| mkdir | 创建目录:mkdir 目录名。 -p 可创建多级目录,如 mkdir -p folder1/folder2/folder3 |
| du | 查看文件和目录的大小,以及目录结构。 -h 以人类可读方式显示(如自动加 K、M 等单位) |
| tree | 以树状图形式显示目录结构(非 Linux 自带命令,需手动安装) |
| find | find [路径] -name “*.py” 在指定路径下(含子目录)查找所有扩展名为 .py 的文件 |
打包/解包 、压缩 /解压缩
tar 此命令可以 把一系列文件 打包到 一个大文件中,也可以把一个 打包的大文件恢复成一系列文件,注意不是压缩。
|
|
tar选项说明:
| 选项 | 含义 |
|---|---|
| c | 生成档案文件,创建打包文件 |
| x | 解开档案文件 |
| v | 列出归档解档的详细过程,显示进度 |
| f | 指定档案文件名称,f 后面一定是 .tar 文件,注意:必须放选项最后 |
gzip压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz、bzip2(two)压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.bz2
|
|
软件安装
通过 apt 安装/卸载软件
|
|
其他
- echo 是一个用来输出文本的命令,echo “txt”/’txt’/txt 就会在框中输出这段txt,通常会和重定向联合使用
- 重定向 > (表示输出,会覆盖文件原有的内容)和 »(表示追加,会将内容追加到已有文件的末尾)
- 管道 | :Linux 允许将 一个命令的输出 可以通过管道 做为 另一个命令的输入
-
常用指令
-
more :分屏显示内容
-
grep :在命令执行结果的基础上查询指定的文本
-
系统相关常用命令
磁盘信息
| 命令 | 作用 |
|---|---|
| df -h | disk free 显示磁盘剩余空间 |
| du -h [目录名] | disk usage 显示目录下的文件大小 |
进程信息
| 命令 | 作用 |
|---|---|
| ps aux | process status 查看进程的详细状况 a:显示终端上的所有进程,包括其他用户的进程;u:显示进程的详细状态;x:显示没有控制终端的进程 |
| top | 动态显示运行中的进程并且排序 |
| kill [-9] 进程代号 | 终止指定代号的进程, -9 表示强行终止 |
注意:ps 默认只会显示当前用户通过终端启动的应用程序
用户权限相关命令
组管理
注意:创建组 / 删除组 的终端命令都需要通过 sudo 执行
| 命令 | 作用 |
|---|---|
| groupadd 组名 | 添加组 |
| groupdel 组名 | 删除组 |
| cat /etc/group | 确认组信息 |
| chgrp -R 组名 文件/目录名 | 递归修改文件/目录的所属组 |
用户管理
注意:创建用户 / 删除用户 / 修改其他用户密码 的终端命令都需要通过 sudo 执行
| 命令格式 | 作用 |
|---|---|
| useradd -m -g 组 用户名 | 新建用户。 -m 自动建立用户家目录; -g 指定用户所在的组(否则会建立一个和用户名同名的组) |
| passwd 用户名 | 设置用户密码。 如果是普通用户,直接执行 passwd 可以修改自己的账户密码 |
| userdel -r 用户名 | 删除用户。 -r 选项会自动删除用户家目录 |
| cat /etc/passwd | grep 用户名 | 确认用户信息。 新建用户后,用户信息会保存在 /etc/passwd 文件中 |
查看用户信息
| 命令 | 作用 |
|---|---|
| id [用户名] | 查看用户 UID 和 GID 信息 |
| who | 查看当前所有登录的用户列表 |
| whoami | 查看当前登录用户的账户名 |
which
which 命令可以查看执行命令所在位置
|
|
切换用户
| 命令 | 作用 |
|---|---|
| su - 用户名 | 切换用户,并且切换目录 - 可以切换到用户家目录,否则保持位置不变 |
| exit | 退出当前登录账户 |
修改文件权限
| 命令 | 作用 |
|---|---|
| chown | 修改拥有者 |
| chgrp | 修改组 |
| chmod | 修改权限 |
|
|
在Linux中需知
| 目录 | 说明 |
|---|---|
| /bin | 用户二进制文件(基本命令) |
| /boot | 启动加载器相关文件 |
| /sbin | 系统二进制文件(管理员命令) |
| /tmp | 临时文件 |
| /etc | 配置文件 |
| /usr | 用户程序与数据 |
| /dev | 设备文件 |
| /var | 可变文件(日志、缓存等) |
| /home | 普通用户家目录 |
| /root | root 用户家目录 |
| /proc | 进程信息虚拟文件系统 |
1.以半角英文的点开头的文件和目录都是隐藏的
2.ls -l显示更详细信息中第一个信息中的第一个字母(-表示普通文件 d表示目录 l表示链接文件)
- 第一个信息中除了第一个字母后面9个字符表示文件的权限,可以把它们按照三个字母一组来看
- 第一组表示文件所有者的权限(user)
- 第二组表示文件所属组别的权限(group)
- 第三组表示其他用户的权限(other)
- r可读 w可写 x可执行(rwx) 如果相应的位置上没有相应的权限就会显示一个中杠(-)
- 第二个数字表示文件的硬链接数,如果该文件没有设置过硬链接,那么其本身就是一个硬链接,就是1
第一行total+数字表示该目录下文件和子目录中占据了多少个磁盘块
3.软链接文件就相当于windows中的快捷方式,不存储任何东西,只是指向那个文件,故存储大小很小
4.硬链接本质上是一个指向文件系统中另一个文件的指针,它与原始文件共享相同的i节点
5.i节点(inode)是文件系统中一个非常重要的概念,在Linux系统中,每个文件或者目录都有一个唯一的i节点它存储了文件的元数据信息(包括1.文件类型 2.权限 3.所有者 4.文件大小 5.时间戳[文件的创建时间,最后访问时间和最后的修改时间] 6.数据块指针),系统也是通过这个i节点来识别文件的,硬链接与原始文件共享相同的i节点,也就说明它们共享相同的文件内容(显示存储大小与源文件相同),源文件和硬链接实际上是同一个文件的不同两个名字
6.将文件其中一个硬链接删除,其他的硬链接都还可以正常访问文件
7.当将软链接目标文件删除时,软连接就会失效
8.软链接可以指向文件和目录,但是硬链接只能指向文件
9.windows系统中文件和目录都是以盘符开始的 而Linux系统中文件系统是树状结构,所有文件和目录都是从根目录开始的,根目录的符号是/
10.相对路径,相对于当前目录的路径
11.绝对路径,从根目录开始的完整路径 可以用一个点来表示当前目录,使用两个点表示上一个目录(如cd ../..返回到上一级目录的再上一级目录中去)
12.根目录下 bin存放系统的基本命令和一些二进制可执行文件 etc存放系统核和一些软件的配置文件 home用户家目录