Linux基础命令复习

Posted 315sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基础命令复习相关的知识,希望对你有一定的参考价值。

文件和目录常用命令

1. ls(list) ----   查看目录内容

  • . ” 代表当前目录,“ . . ” 代表上一级目录。
  • 以  " . ” 开头的文件为隐藏文件,需要用 -a 参数才能显示。

ls 常用选项:

参数 含义
-a 显示指定目录下所有子目录与文件,包括隐藏文件.(通常是系统文件)
-l 以列表的方式显示文件的详细方式。
-h 必须配合 -l 使用,以人性化的方式显示文件.(就是显示文件大小的单位)

 

 

 

 

 

 ls 通配符的使用 --- 快速定位:

通配符 含义
* 代表任意个输字符.
代表任意一个字符,问号的个数至少可以是一个。
[] 表示可以匹配字符组中的任意一个.
[abc] 匹配a, b, c 中任意一个.
[a-f] 匹配 a 到 f 范围内的任意一个字符.
转义字符,例如:ls *a(查找文件名为 *a 的文件) 。

 

 

 

 

 

 

 

 

 

 

2. cd(change directory)---- 切换工作目录

cd 常用命令:

命令 含义
cd/cd ~

切换到当前用户的主目录( / 根目录;~ home。目录root用户为:/root,

普通用户为:/home/用户名)。

cd. 保持在当前目录不变。
cd .. 切换到上级目录。
cd - 可以在最近两次的工作目录之间来回切换。
cd ./目录1/目录2 进入当前目录下的子目录。

 

 

 

 

 

 

 

 

 

 

3. touch ---- 创建修改操作

例如: xxx@ubuntu:~$ touch test

  • 如文件不存在,则将创建一个新的空白文件。
  • 如文件或者目录存在,这会改变目录或文件的时间属性(改为当前系统时间)。

 

4. mkdir(make directory)--- 创建目录

示例 含义
mkdir a b c 创建同一水平的不同目录。
mkdir -p a/b/c 创建递归目录.

 

 

 

 

注意:新建目录的名称不能与当前目录中已有的目录或文件同名。

 

5. rm(remove)---- 删除文件或目录

参数 含义
-f 强制删除,忽略不存在的文件,没有提示。
-r 递归的删除目录下的内容,删除不是空目录时必须加上此参数。(rmdir 只能删除空目录)

 

 

 

 

注意:使用rm删除后的文件不能恢复,所以要谨慎使用。

 

6. tree ----  以树状图列出文件目录结构

参数 含义
-d 只显示目录。

 

 

 

 

7.cp(copy)---- 复值目录或文件

参数 含义
-i 覆盖文件前提示,用来判断是否已经存在同名文件,并是否需要重新写入。
-r 用于复制目录下所有子目录和文件,目标文件必须是个目录名。

 

 

 

 

 

8. mv(move)---- 移动文件或目录(也可以给文件或目录重命名)

操作 含义

mv (-i)(-f)源文件 目标文件

  • 目标文件不存在,与源文件在同一目录下,则相当于重命名源文件。
  • 目标文件不存在,与源文件在不同目录下,则移动源文件。
  • 若目标文件是已存在的的文件,则会于替换目标文件原有的内容。
mv 源文件 目标目录 将文件移动到目标目录下。
mv 原目录 目标目录 目标目录已存在,则移动到目标目录下;目标目录不存在则改名。

 

 

 

 

 

 

 

 

因此要用 -i 选项来判断目标文件是否存在,以及是否需要覆盖。

(-f: 在 mv 操作要覆盖某已有的目标文件时不给任何指示)

 

9. cat(concatenate) ---- 查看文件内容,创建文件,合并文件,追加文件内容

操作 示例
查看文件:对非空输出行编号。 cat -b 文件名
查看文件:对所有的输出行编号。 cat -n 文件名
同时查看多个文件:按顺序依次显示。 cat 文件1 文件2
创建新的文件:然后输入内容,最后空行 ctrl+d 保存文件。 cat > 新文件名
合并文件:文件1,2依然存在,文件3中的内容会被覆盖掉。 cat 文件1 文件2  >  文件3
追加文件内容:在原文件上继续添加内容。

cat >> 文件名 (ctrl + d 保存退出) 或者  

cat 文件1 >> 文件2

覆盖文件内容:文件1内容不变,文件2内容被覆盖。 cat 文件1 > 文件2

 

 

 

 

 

 

 

 

 

 

 

 

 

10. more ---- 分屏显示文件内容,每次只显示一页内容,使用查看内容较多的文件

  • cat是一次显示所有的内容,适用查看内容较少的文件。

 

11. grep ---- 在文本文件中进行特定的搜索

选项 含义
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行(相当于取反)
-i 忽略大小写

 

 

 

 

 

例如:在123.txt中查找所有 as单词: grep as 123.txt

两种模式的搜索:

  • grep  ^f  123.txt   查找所有以 f 开头的行。
  • grep  a$ 123.txt   查找所有以 a 结尾的行。

 

12. 管道 | ---- 将左端命令的做为右边命令的输入

常用管道命令:

命令 举例
more ls -lah | more 输出的内容分屏显示。
grep ls -lah | grep as 在输出的内容中查找文件名/目录名包含 as 的。

 

 

 

 

 

13. echo ---- 输出输入的文字内容

  • echo hello 显示 hello。
  • 常与重定向一起使用。

 

14. > 和 >>  ---- 重定向

将本应显示在终端上的内容,输出/追加到指定文件中。

符号 含义
> 表示输出,会覆盖文件原有的内容。例:echo hello world! > a
>> 表示追加, 会将内容增加到已有文件的末尾。 例:echo hello  >> b

 

 

 

 

 

15. 其他常用命令

命令 含义
clear 清屏。(windows下为 cls)快捷键: ctrl + l
file [文件或目录] 显示文件的类型(目录、text、zip、shell脚本等)
history 查看历史命令。
pwd 查看当前所在路径。

 

 

 

 

 

 

 

 

 

 

 

远程管理常用命令

1. shutdown ---- 开关机

常用选项:

参数 含义
sync 把内存中的数据写到磁盘中。(关机、重启前都需先执行sync)
shutdown -r now 或 reboot 立刻重启。
shutdown -h now 立刻关机。
shutdown -h 08:00 预定时间关闭系统。(若现在超过8点,则明晚8点)
shutdown -h +10 10分钟后关机。
shutdown -c 取消按预定时间关闭系统。

 

 

 

 

 

 

 

 

 

 

2. ifconfig ---- 显示或配置网卡信息(临时的)

  • 修改IP地址:ifconfig eth0 192.168.120.6
  • 修改MAC地址:ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
  • windows 下是 ipconfig。

 

3. SSH工具 ---- 对数据进行加密和压缩

SSH 是专门为远程登录会话和其他网络服务提供安全性的协议。

  • 加密:防止信息泄露。
  • 压缩:提高传输速率。

ssh客户端简单的使用格式:ssh [-p port] user@remote

参数 含义
port

ssh server监听的端口,若不指定则默认为 22。(一定要根据服务器来指定,

否则可能连不上服务器)

user 是远程机器上的用户名,如果不指定则默认为当前用户。
remote 是远程机器上的地址,可以是IP地址,也可以是域名。

 

 

 

 

 

 

 

 

4. Scp(Secure copy)---- 用来远程拷贝文件

常用的命令格式:

作用 命令格式(注意选项)
将文件从本地复制到远端。

scp -P port 本地文件名(最好写上绝对路径) user@remote:远程主机上

路径+文件名

把远端文件复制到本地。 scp -P port user@remote:远程要复制文件的路径+文件名
复制目录文件。 scp -r  text root@remote:Desktop(本地复制到远端)
指定其他端口。 scp -P 50 root@remote:/home/123.txt(远程复制到本地当前目录)

 

 

 

 

 

 

 

 

 

 

 

、用户和权限命令

1. 文件/目录的权限包括:

序号 权限 英文 缩写 数字代号
01 read r 4
02 write w 2
03 执行 excute x 1

 

 

 

 

 

 

2. ls -l  ---- 查看文件夹下文件的详细信息

权限 硬连接数 拥有者 大小 时间 名称
drwxrwxr-x 2 root root 4096 Jan 2 22:09 Desktop

 

 

 

  • "d"代表文件夹,"-"代表普通文件,"c"代表硬件字符设备,"b"代表硬件设备。
  • 后9个字母分别代表三组权限:文件所有者,用户组,其他用户拥有的权限。
  • 硬连接数表示有多少种方式可以访问到当前目录/文件。例:cd . 或  绝对路径

 

3. chmod ---- 修改用户/组 或 文件/目录的权限

  • 方法1:chmod  +/-[wrx]  文件/目录名
  • 方法2:chmod  数字0-7  文件/目录名

 

4. 超级用户(root账号) ---- 用于系统的维护和管理

sudo含义:substitute user 表示使用另一个用户的身份,预设的身份为 root。

 

5. 组管理

序号 命令 作用
01 groupadd 组名 添加组。
02 groupdel 组名 删除组。
03 cat /etc/group 确认组信息。
04 chgrp -R(主要用于目录,表示递归)组名 文件/目录名 修改文件/目录的所在组。
05 groupmod -n 新组名 旧组名 修改用户组名字。

 

 

 

 

 

 

 

 

 

6. 用户管理

序号 命令 作用 说明
01 useradd -m -g 组 新建用户名 添加新用户

-m 自动建立用户 hom 目录。

-g 指定用户所在的组,否则会建立

一个与新用户名同名的组。

02 passwd 用户名 设置用户密码 也可以直接修改当前用户的密码。
03 userdel -r 用户名 删除用户 -r 自动删除用户 home 目录。
04 cat /etc/passwd | grep 用户名 确认用户信息

新建用户后,用户信息会保存在

/etc/passwd 文件中。

 

 

 

 

 

 

 

 

passwd 文件格式:

用户名 密码

UID

GID

用户全名/本地账号

home目录

登录使用的shell

root x(表加密) 0 0 root /root /bin/bash

 

 

 

 

 

7. 查看用户

序号 命令 作用
01 id [用户名] 查看用户UID(用户标识符)和 GID(组标识信息)。
02 who 查看所有登录的用户列表。
03 whoami 查看当前登录用户的账户名。

 

 

 

 

 

 

8. usermod ---- 设置用户的主组/附加组和登录 shell

  • 主组:通常在建立用户时指定,在 /etc/passwd/的第四列 GID 对应的组。表示自己创建新的组。
  • 附加组:/etc/group中最后一列表示该组的用户列表,表示加入到其他组当中。用于获取附加权限(如:sudo权限)
语法格式 作用
(sudo)usermod  -g  组(主组)   用户名 修改用户的主组。
(sudo)usermod  -G  组(附加组) 用户名 修改用户的附加组。
(sudo)usermod  -s  /bin/bash  用户名 修改用户登录的 shell。

 

 

 

 

 

 

9. which ---- 查看命令所在位置

  • /etc/passwd 用于保存用户信息的文件。
  • /usr/bin/passwd 用于修改用户密码的程序。
  • 例如: which ls 输出:/bin/ls      which useradd  输出:/usr/sbin/usradd

bin 和 sbin 的含义(了解):

  • /bin(binary)是二进制执行文件目录,主要用于具体应用。
  • /sbin(system binary)是系统管理员专用的二进制代码存放目录,主要用于系统管理。
  • /usr/bin 主要用于后期安装的一些软件。
  • /usr/sbin(super ~)超级用户的一些管理程序。

 

10. su ---- 切换用户

命令 作用
su - 目标用户名 切换用户,并切换到目标用户的 home 目录。
su 目标用户名 切换用户,但不切换 home 目录。
su 切换到 root,不推荐使用,不安全。
exit 退出当前登录账户。

 

 

 

 

 

 

 

 

11. 修改文件权限

命令格式 含义
chown  用户名  文件名|目录名 修改文件/目录的拥有者。
chgrp  -R  组名  文件名|目录名 递归修改文件/目录的组。
chmod  -R 数字(例:777) 文件名|目录名 递归修改文件/目录权限。

 

 

 

 

 

 

 

 

 

、系统信息命令

1. 时间和日期

  • 查看系统时间 date:Fri Jan  3 15:45:05 CST 2020
  • 查看日历 cal 2020

 

2. 磁盘信息

命令 作用
df -h(disk free) 显示磁盘剩余空间。-h 以人性化的方式磁盘文件大小
du -h 目录名(disk usage) 显示目录下的文件大小。

 

 

 

 

 

3. 服务与进程信息

命令 含义

netstat -lnp(t)(network state)

常用方法:netstat -lnp|grep 端口号/进程号/进程名

一般用于检验本机各端口的网络连接情况。

  • l    只列出监听中的连接.
  • n   禁用域名解析功能,查出IP且速度快。
  • p   获取进程名、进程号。
  • t    只列出 TCP协议的连接。

ps aux(process status)

常用方法:ps aux|grep 进程号/进程启动命令/服务名

查看进程的详细状况。

  • a   显示终端上的所有进程,包括其他用户的进程。
  • u   显示进程的详细状态。
  • x   显示没有控制终端的进程。(不是终端启动的)
top 动态显示运行中的程序并且排序。(退出可以直接输入 q)
kill  [-9]  进程号 终止指定代号

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 示例:ps aux|grep tomcat netstat -lnp|grep 进程号 :查tomcat服务占用的端口。

 

4. 软/硬链接

  • 软链接:相当于快捷方式,源文件删除时,软链接就会失效。

  • 硬链接:相当于文件的副本,修改源文件时,副本也会被修改,源文件被删除时,副本依然存在。
命令格式 说明
ln  -s  被链接源文件绝对路径+文件名  [新建软件链接名称] 创建文件软链接。
ln   被链接源文件绝对路径+文件名  [新建软件链接名称] 创建文件硬链接。

 

 

 

 

两者的差异是在图标上,硬链接的图标是没有快捷方式那样的箭头。

 

 

 

、打包/解包 和 压缩/解压缩

  • tar 打包/解包(后缀 .tar):将一系列文件打包到一个大文件中,也可以恢复回来。
  • gzip 压缩/解压缩(后缀 .tar.gz):压缩或解压缩 tar 打包后的文件。(仅对单一文件)
  • bzip2 压缩/解压缩(后缀 .tar.bz2):压缩或解压缩 tar 打包后的文件。(仅对单一文件)
  • zip/unzip 压缩/解压缩(后缀 .zip):压缩或解压缩 zip 打包后的文件。
含义 命令格式
查看文件类型 file 文件名
打包文件 tar  -cvf   a.tar  文件1  文件2  ...或 路径
解包文件 tar  -xvf   a.tar (到当前目录)
压缩文件 zip  -r  b.zip  文件1  文件2  ...或 路径
解压缩文件

unzip  b.zip (到当前目录)

unzip  -o  e.war  -d  目标路径 (推荐使用unzip解压war包)

压缩一个文件

gzip  file1 (不能保留源文件)

gzip -9 file1 (最大程度压缩)

bzip2  -k  file1 (-k表示保留源文件,bzip2格式,比gzip好)

解压一个文件

gzip  -d  file1.gz

bzip2  -d  -k  file1.bz2

打包并压缩文件 tar  -zcvf  c.tar.gz  文件1  文件2  ....或 路径
解压缩并解包文件 tar  -zxvf  c.tar.gz  -C  目标路径 (必须存在)
打包并压缩文件 tar  -jcvf  d.tar.bz2  文件1  文件2  ....或 路径
解压缩并解包文件 tar  -jxvf  d.tar.bz2 (到当前目录)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

选项 含义
c 生成档案文件,创建打包文件。(压缩)
C 指定文件解压到存储的目录。
d 解压文件。
f 指定档案文件的名称,必须放在选项的最后一位。
k 表示保留源文件。
o 表示覆盖原有文件。
r 用于压缩文件夹。
z 压缩/解压缩打包文件。

以上是关于Linux基础命令复习的主要内容,如果未能解决你的问题,请参考以下文章

20145234黄斐《信息安全系统设计基础》第七周(Linux命令复习)

linux常用命令大全(linux基础命令+命令备忘录+面试复习)

Linux基础命令复习

linux基础命令复习

[转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)

linux 基础复习-2