Linux 命令学习总结

以下内容都是我从各个地方转载学习到的,有的直接给了链接。如有侵权,请联系。

& 和 && 和|和 || 区别 

(1)& 实现命令后台执行。

(2)&&  表示前一条命令执行成功时,才执行第二条命令。

(3)| 管道,执行完最左边的命令后,作为输入执行第二条命令。

cat /foo/a.txt | grep "hello"

 先执行 cat 打印文件,然后找到含有 “hello”的行。

(4) ||  上一条命令执行失败后,才执行第二条命令。

单引号、双引号、反向单引号的区别

(1)单引号:引号中的内容不会转义,直接打印输出。

>>echo 'hello\n'
hello\n

(2)双引号:引号中的内容根据需要,会进行转义输出。 

>>echo -e "hello\th"
hello    h
>>echo -e "\"hello\""
"hello"

(3)反向单引号:``,实现的是``中的命令作为输入,在输出。

>>echo -e `echo "hello\th"`
hello h 

此外,可以利用$实现变量的引用。 

建立的a.sh文件:

#!/bin/sh
read name 
echo "$name It is a test."
>>sh a.sh
foo
foo It is test.

> 和 >> 和 < 区别

> 将标准输出的内容导入 a.txt文件中

>> 追加命令,> 会覆盖源文件。>> 是追加。

标准输入:不太明白。输入重定向到一个程序??

(1)echo 用于字符串的输出 类似于print() 

详情可见:https://www.cnblogs.com/Spiro-K/p/6360489.html

(2)scp 实现两台服务器之间的文件传输。

scp /home/foo/test.txt root@100.0.0.0:/home/foo_1/test

需要root@100.0.0.0的登录密码。

此外,这是从内网向外网进行传输,可以直接利用这样的方式实现。但是外网向内网传输,这样操作不可行。因为内网会有屏障。因为scp命令是基于ssh服务的。因此,可以建立基于ssh服务的反向隧道,从而实现外网向内网传输。

可以参考:链接

进程相关的命令

参考:https://blog.csdn.net/dongyanxia1000/article/details/62042065

(1)jobs 查看当前用户的进程个数  

+(加号)表示是一个当前的作业,

- (减号)表示是一个当前作业之后的一个作业

jobs -l #可显示所有任务的PID

注意[1]不是进程号,只是表示优先顺序的一种方式。  -l 可以显示PID。

(2) bg 将挂起的进程,重新启动

bg %1 # 1是jobs显示的进程先后关系,不是进程的PID

(3)pg 将服务从后台调至前台运行。

pg %1 # 1是jobs显示的进程先后关系,不是进程的PID

(4)ctrl+z 可以将前台服务挂起。等待响应。ctrl+c 直接终止正在运行中的进程 

终止程序的几种方法:https://www.cnblogs.com/pejsidney/p/8932707.html

(5)将命令放在后台进行运行,可以利用 "&"来实现。

scp /home/foo/test.txt root@100.0.0.0:/home/foo_1/test & 

(6) ps 查看当前时间节点内运行的进程

ps -aux # 显示所有包含其他使用者的进程
ps -a #显示同一终端下的所有程序 
ps -au #显示较详细的资讯
ps x # 显示所有程序,不以终端机来区分

常用的方法是ps -aux,然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

比如:ps -aux | grep watch (查看watch命令的情况)

(7)top 能够实时显示系统中各个进程的资源占用状况,类似于资源管理器。

top显示的参数详解:https://www.cnblogs.com/niuben/p/12017242.html

top中第一行显示的就是 uptime的情况。也就是服务器的基本情况。

(8)uptime :显示服务器的基本情况。详情:https://www.cnblogs.com/ftl1012/p/uptime.html

服务器时间:13:29:09 
服务器运行时长:299 days
当前用户数:2
当前负载均衡  load average  0.03, 0.02, 0.04

(9)kill 杀死一个进程 

kill -9 PID

 详情可见:https://blog.csdn.net/guo_guo_cai/article/details/78499477

9是信号编号,信号编号是一种给进程发送的指令编号(里面涵盖一些计算机指令)。-9的含义是: sigkill -15的含义是sigterm.sigterm多半是会被阻塞的、忽略。sigkill会强制终止。

文件相关操作

(1)cat 显示文件的主要内容

cat /file_name

还可以向文件中增加一些东西,生成b.txt文件。 

(2)sort 按照一定的顺序,将文件按照行排序。然后排序规则是按照列进行的。【不改变源文件

(3)uniq 重复行统计,统计重复的过程中,统计的是相邻行,不相邻的行即使是重复的也不会按照重复的情况来处理。【不改变源文件

sort和uniq的相关示例可参考:https://www.linuxprobe.com/linux-uniq-student.html

(4)wc 统计作用。 统计行数、单词数字、字节数。

>>wc a.txt
1 1 10 a.txt
>> wc -l a.txt 仅输出行数 

(5)cut 统计文件的情况,按照一定的顺序匹配,将匹配后的列进行输出。

(6)grep 匹配作用。 匹配某个的单词是否在文本中出现,如果出现,则输出这一行。只要出现单词即可。

>>grep "cat" a.txt
hello cat
cat  

(7)vi/vim 

vim是在vi基础上发展的。可以认为是 创建/进入 一个可以编辑的文本。

一共有三种模式:(1)刚开始进入的只读模式 (2)i 插入模式,可以进行编写 (3):退出模式

退出模型中 (1):wq 保存退出 (2):q! 强制退出 不保存 (3):q 退出,在没有做更改的时候直接退出,若更改了会提醒。

(8)cp  用于复制文件或者目录 详见:https://www.runoob.com/linux/linux-comm-cp.html

cp -r 复制目录和其下的所有子目录和文件
cp -d 保留连接文件,类似于桌面快捷方式
cp -i 覆盖目标文件时,是否给出提示

(9)mv 用于移动目录或者文件 https://www.runoob.com/linux/linux-comm-mv.html

mv 可以用于改名,将a.txt改成b.txt,一般情况下,liunux不怎么看后缀名。linux会将其认为就是一个文件的名字而已。

mv a.txt b.txt
mv -i 有同名询问是否覆盖
mv -f 不询问直接覆盖

(10)rm 删除文件或者目录(rm命令删除,则无法恢复,所以必须格外小心地使用该命令)

rm -f
rm -r # 删除目录及其中的所有东西
如果直接删除 rm test/ 删除不掉
rm -i 删除前进行询问

(11)zip/unzip 打包和解包文件 

          dpkg 命令    解包.deb类型 

          tar命令  压缩文件 【zip和tar不同,要注意】

zip [-r] name.zip test/  # 压缩 test/和其目录下的所有内容
zip a.zip a.txt # 将单个文件进行压缩

(12) awk  处理文本文件  详见:https://www.cnblogs.com/virgosnail/p/11103651.html

awk '{condition} action' filname 

注意:必须是单引号 

查看系统存储状态

(1)df:查看系统磁盘使用情况。是以块为单位,进行查看的。因为磁盘的存储结构,就是以块进行的。(操作系统内容)

df -h  # 以GB显示
df -i  # 以inode信息显示

(2)du 查看目录/文件夹的大小。类似于查看文件夹的属性中的大小信息。会进行相应的罗列。

注意不会查看此目录下的文件的大小(如 .txt等)

-h 以kb
-a 显示所有文件信息(包括单个文件) 以及文件夹下的最深大小
-b 以byte

查看开机状态

(1)dmesg 查看开机状态中的信息 

dmesg | grep TCP # 查看TCP的相关情况

也可以通过 cat /var/log/dmesg 来查看,开机时会将信息保存此位置。

查看设备信息

(1)lspci 查看在总线PCI上的设备信息。

查看GPU信息:

lspci | grep -i nvidia

(2)nvidia-smi  查看GPU显存情况

查看网络情况

(1)netstat 查看网络状态,包括TCP Ip等

详细可见:https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html

(2)watch 监测一个命令的运行结果,来监测想要结果的变化情况。详情见:https://www.cnblogs.com/ftl1012/p/watch.html

watch -n 1 -d "uptime"

10秒输出一次系统的均衡负载情况。双引号是想要监控的命令。前面是watch所带的参数情况。

(3)who   显示当前登录系统的用户

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Foneone

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

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

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

打赏作者

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

抵扣说明:

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

余额充值