Linux常用命令

Linux常用命令

1、cp
拷贝文件
# 若目标文件不存在,新建然后覆盖
cp [i] 源文件 目标文件
cp /etc/passwd user.txt

# 将文件s复制到指定目录中,注意目标目录必须存在
cp [i] 源文件(s) 目标文件
cp a.txt user.txt dir01
拷贝目录
 # 复制源目录到目标目录中
 cp -r 原目录 目标目录(存在)
 cp -r dir01 dir02 (目标目录不存在,则创建,拷贝dir01内容进去)
 ​
 # 拷贝源目录内容到目标目录
 cp -r 源目录 目标目录(不存在)
 cp -r dir01 dir04(目标目录存在,则拷贝整个dir01目录进去)
 ​
 # 将多个源(文件、目录)复制到目标目录,目标目录必须存在
 cp -r 源文件(s) 源目录(s) 目标目录
 cp -r a.txt dir01 dir05
2、mv
移动或重命名
 # 删除已经存在的目标文件,重命名源文件
 mv [i] 源文件 目标文件(存在)
 mv b.txt a.txt (将b.txt改名为a.txt)
 ​
 # 重命名源文件
 mv 源文件 目标文件(不存在)
 mv a.txt b.txt (移a.txt到b.txt(不存在)),重命名
 ​
 # 将源文件移动到指定目录,目标目录必须存在
 mv 源文件(s) 目标目录
 mv b.txt dir3 dir4 (目标目录必须存在,才可以mv成功)
 ​
 # 将源目录整体移动到目标目录内,目标目录必须存在
 mv 源目录(s) 目标目录
3、rm

rm命令用于删除文件或非空目录

rmdir用于删除空白目录

 # 删除多个文件,-i为提示
 rm [-i] filename(s)
 rm dir01/a.txt dir01/user.txt (删除多个文件)
 rmdir dir01(删除空白目录)
 ​
 # rmdir只能用于删除空白目录
 rmdir empty_dir(s)
 rm -r dir05(使用 rm -r 删除非空目录)
 ​
 # 删除非空目录:-r表示删除目录 -f表示强制删除
 rm -r -f dir_name(s)
 rm -rf dir_name(s)

注意:命令行删除文件或目录,不经过回收站,要慎重

4、man

使用man命令可以查看Linux提供的帮助手册

 man
5、元字符
5.1、通配符
  • *(表示通配,代表0~n个字符)

 # 列出所有txt结尾的文件
 ls *.txt
 ​
 # 删除所有txt结尾的文件
 rm *.txt
  • ?(表示通配,代表任意1个字符)

 # 显示a?.txt文件
 ls a?.txt
  • [](是一种用于文件名扩展的通配符,它允许你匹配一组字符中的任意一个)

 # 要查找所有以字母a、b或c开头的文件
 ls [abc]* 
 ​
 # 查找所有以小写字母开头的文件
 ls [a-z]*
 # 查找所有以数字开头的文件
 ls [0-9]*
 ​
 # 查找所有以字母a到f或数字1到3开头的文件
 ls [a-f1-3]*
 ​
 # 查找所有不以字母a、b或c开头的文件
 ls [^abc]*   # 或者 ls [!abc]*
5.2、分隔符
  • ;用于分隔在同一行上顺序执行的多个命令。

 # 先cd回到家目录,然后再执行ls命令
 cd;ls
 ​
 # 先显示时间,再列出当前目录下文件及子目录,最后显示日历
 date;ls;cal
 
5.3、重定向

重定向是一种强大的功能,它允许你改变命令的输入、输出以及错误信息的流向。

文件描述符用于表示指向文件或者其他输入、输出资源的引用。在Linux和Unix系统中,文件描述符是一个非负整数,它为每个打开的文件或I/O流提供了一个唯一的标识符。

  • 0:标准输入设备,默认通常是键盘

  • 1:标准输出设备,默认通常是终端屏幕

  • 2:标准错误输出设备,默认也是终端屏幕

重定向操作符

  • >:也可以写成1>,覆盖写入文件

    它可以将命令的标准输出,重定向到一个文件中,如果文件已存在,内容会被覆盖

  • >>:追加写入文件

    相对于>,该操作符也是重定向标准输出,但其会追加内容到文件末尾,不会覆盖已有内容

  • <:也可以写成是0<

    重定向0号标准输入设备(默认为键盘)为指定文件

  • 2>:将标准错误重定向到一个文件

注意:重定向操作符可以同时使用,如:cat 0< /etc/passwd 1>data.txt 2>error.txt

5.4、管道符

| ,可以把第一个命令的结果,交给第二个命令作为参数进行操作。

 # 把当前日期通过打印机进行打印
 cal | lp
 # 注意:lp命令需要安装成功,且打印机连接、配置好,该命令才能执行成功。
6、查看内容
6.1、cat

cat: 允许我们创建文件、查看文件内容、连接文件并将输出重定向到终端或文件中。

# 1、查看文件内容
 cat filenames:输出文件内容
 cat testfile.txt
 ​
 # 2、创建新文件(输入内容后按Ctrl + D保存并退出)
 cat > newfile.txt
 hello,大家好,我是Linux命令
 ​
 # 3、连接文件(可以将多个文件连接起来并输出到一个新文件)
 cat file1 file2 > combined_file
 cat testfile1.txt testfile2.txt > combined.txt
 # 把testfile1和testfike2的内容合并到combined文件中
 ​
 # 4、追加内容到文件(可以将内容追加到现有文件的末尾)
 cat >> existingfile.txt
 cat >> testfile.txt
 hello,world
 按Ctrl + D保存
 ​
 # 5、选项
 # 5.1、显示行号
 # 使用-n选项可以在每行前显示行号
 cat -n testfile.txt
 # 这将显示testfile.txt的内容,并在每行前加上行号
 ​
 # 5.2、压缩空行
 # 使用-s选项可以压缩连续的空行,只显示一个空行
 cat -s testfile.txt
 # 这将压缩testfile.txt中的连续空行
 ​
 # 5.3、显示行尾符号
 # 使用-E选项可以在每行的末尾显示$符号
 cat -E testfile.txt
 # 这将在每行末尾显示$符号
 ​
 # 5.4、显示制表符
 # 使用-T选项可以将Tab字符显示未^I
 cat -T testfile.txt
 # 这将显示testfile.txt中的Tab字符

总结:cat命令使一个非常强大的工具,可以用于查看、创建和连接文件。通过使用不同的选项,可以实现更多的功能,如显示行号、压缩行号、显示行尾符号和制表符等。

特殊文件/dev/null:

Linux系统中,/dev/null(空设备文件或黑洞文件)是一个特殊的设备文件,所有写入其中的数据,都会被丢弃的无影无踪,/dev/null通常被用于丢弃不需要的数据输出,或作为用于输入流的空文件。这些操作通常由重定向完成。

cat a.txt # 查看a.txt 文件
 ​
 # 清空a.txt文件
 cat /dev/null > a.txt
6.2、more

more命令是Linux系统中用于分页显示文件内容的工具。它类似于cat命令,但会以一页一页的形式显示,更方便用户逐页阅读长文件。

 # more使用只需在more之后跟上文件名即可
 # 要查看/var/log/dmesg文件的内容,如果想要查看下一屏的内容,只需按空格键即可。
 more /var/log/dmesg
 ​
 # 逐行显示testfile文档内容,如有连续两行以上空白行则以一行空白行显示。
 more -s testfile
 ​
 # 从第20行开始显示testfile文档内容
 nore +20 testfile

常用选项

  • -num:一次显示的行数。

  • -d:提示用户在屏幕下方显示 [Press space to continue, 'q' to quit.],如果用户按错键,则会显示 [Press 'h' for instructions.]1

  • -l:取消遇见特殊字符^L(送纸字符)时会暂停的功能。

  • -f:计算行数时,以实际上的行数,而非自动换行后的行数。

  • -p:不以滚动的方式显示每一页,而是先清除屏幕后再显示内容。

  • -c:与-p相似,不同的是先显示内容再清除其他旧资料。

  • -s:当遇到有连续两行以上的空白行时,替换为一行的空白行。

  • +/pattern:在每个文档显示前搜索该字符串,然后从该字符串之后开始显示。

  • +num:从第num行开始显示

6.3、head和tail命令

head和tail命令用于查看文件的开头和结尾部分内容,非常适合快速检查大文件的内容或监控日志文件的最新更新。

head命令用于显示文件的前几行内容。默认情况下,它显示文件的前10行内容,可以使用-n选项来指定显示的行数。

 # 显示文件的前10行
 head filename
 ​
 # 显示文件的前5行
 head -n 5 filename
 ​
 # 显示文件的前45个字节 (可以使用-c选项来指定显示的字节数)
 head -c 45 filename

tail命令用于显示文件的后几行内容。默认情况下,它显示文件的后10行,可以使用-n选项来指定显示的行数。

# 显示文件的后10行
 tail filename
 ​
 # 显示文件的后5行
 tail -n 5 filename
 ​
 # -f选项,用于实时监视文件的变化,特别适用于查看日志文件的最新更新。
 # 实时监视文件的变化
 tail -f filename

head和tail组合使用

 # 查看文件的第50行到第200行
 cat filename | tail -n +50 | head -n 150
 ​
 # 或者
 cat filename | head -n 200 | tail -n +50
7、vi编辑器

vi是所有Unix及Linux系统下的标准文本编辑器。vi编辑器有三种模式:命令模式、插入模式和底行模式。

基本操作

进入vi

 # 在系统提示符号输入 vi文件名后,进入vi之后,默认处于命令模式。要切换到插入模式,按下字母i即可。
 vi 文件名

切换至插入模式

在命令模式下按下i即可进入插入模式,此时可以开始输入文字。按ESC键可以返回命令模式 。

  • i 在光标当前位置插入

  • a 在光标所在位置后插入

  • o 在光标所在行下插入一空行

  • <Esc> 退出插入状态

保存和退出

在命令模式下,按:进入低行模式,然后输入以下命令:

  • :w保存文件

  • :q退出vi

  • :wq保存并退出vi

  • :q!不保存强制退出vi

三种模式转换关系图:

常用命令:

  1. 命令模式

    • h 或 左箭头键:光标左移一个字符

    • j 或 下箭头键:光标下移一个字符

    • k 或 上箭头键:光标上移一个字符

    • l 或 右箭头键:光标右移一个字符

    • dd:删除光标所在行

    • yy:复制光标所在行

    • p:粘贴

    • u:撤销上一次操作

    • Ctrl + r:重做上一次撤销的操作

  2. 插入模式

    • i:在光标当前位置开始插入

    • a:在光标后一个位置开始插入

    • o:在当前行下方插入新行并进入插入模式

    • O:在当前行上方插入新行并进入插入模式

  3. 低行模式

    • :w:保存文件

    • :q:退出 vi

    • :wq:保存并退出 vi

    • :q!:不保存强制退出 vi

8、其他命令

1、用户相关

  • id 用于显示用户的UID(用户ID)和GID(组ID),以及它们所属的附件组的信息。

  • w:不仅列出当前登录的所有用户,还会提供这些用户的额外信息,包括他们正在执行的命令或进程。

  • who:主要用于显示当前登录到系统的用户列表。它可以提供关于这些会话的更多信息,比如登录时间、从哪里登录等

  • whoami :用于显示当前登录用户的用户名

2、网络相关

  • ping:网络管理中最常用的一个工具,用于测试主机之间的连通性。

  • ifconfig:用于配置和显示网络接口的工具。

  • ip addr:也写作 ip address,它提供了比较传统ifconfig更强大和灵活的功能。

  • telnet:进行远程登录服务器。

    注意,telnet 远程登录须满足下面要求

    1. 服务器主机安装了telnet服务器端,并已经开启服务

    2. 本机有telnet客户端,可以使用telnet命令

    3. 本机可以ping通服务器主机的ip地址

3、进程相关

  • ps:用于显示当前进程的状态

  • ps -e:查看所有进程(精简格式)

  • ps -ef:查看所有进程,更详细的输出

  • sleep:休眠模式

  • sleep 100 :休眠100s,直接会占用终端

  • sleep 200 & :休眠200s,推到后台执行,不占用前台终端

  • kill:终止进程的一个重要工具。它通过向指定的进程发送信号来请求它们停止运行、重新启动或执行其他操作。

    强制终止一个进程:

     # 发送9号信号,终止进程
     kill -9 PID
     ​
     # 使用9号信号信号名,终止进程
     kill -SIGKILL PID

4、其他命令

  • history:命令历史记录

  • alias:设置命令别名

    格式:

    • 查看别名: alias

    • 设置别名: alias 别名=命令

    • 取消别名: unalias 别名

  • fild:按条件查找

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楠寻寻

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值