小言_互联网的博客

[linux学习](linuxprobe课程)二 常见的命令

475人阅读  评论(0)

SHELL解释终端

按着我的理解,SHELL终端类似于一个界面,像是windows的桌面,需要点击鼠标或其他的输入源进行操作,当点击鼠标时就会传递一个动态给服务器,告诉服务器我进行了操作,服务器根据点击的位置比如双击了文件夹,那么就是一个打开的操作,等同于linux上在终端写 cd xxxxx,在操作后必然会得到服务器的一个反馈。不论是图形化界面还是SHELL终端,他们是同一层面的,最终都是为了事现某些我们想要的操作。
SHELL是各种解释器的总成
默认的解释终端是bash,其所具备的特点如下

  1. 通过上下键调取之前操作过的命令(不同于history命令,一个是使用命令,一个是解释终端自带的功能)
  2. 参数命令等可以自动补齐
  3. 强大的批处理脚本(也不知道其他的解释器是没有还是怎么
  4. 环境变量功能(也不知道其他的解释器是没有还是怎么+1,这个不应该属于服务的功能吗

常见命令

命令格式

命令 参数 对象
参数格式:-x --xxxx(后面软件安装经常用,定义安装路径什么的)

查看命令内容的命令

  1. man 查看命令的功能和用法(一般靠百度,除非有自定义的命令,就要研究下自定义命令的参考文档在哪配置了,xxxxxxxxxxxxxxxxxxx 没找到)

常用系统工作命令

1. echo 显示

一般用于显示环境变量,或者结合重定向符处理一些写入等,另外就是shell脚本里常用来做判断
例如:
echo $NLS_LANG 显示字符集
echo “haha” &> xxxx.txt 把“哈哈”输出到这个文件

2. date 显示时间,或设置时间

date “+%Y%m%d” 显示当前时间并且以年月日形式展示,目前已知作用就是日志的命令或者备份时使用
date -s “20191002 15:59:00” 设置时间
参数说明如下

参数 作用
%Y
%m
%d
%H 24小时
%I 12小时
%M 分钟
%S
%t 控制
%j 今个是今年第几天

3. reboot,poweroff,shutdown

reboot 重启
pweroff 关机
shutdown -r now 立刻重启
shutdown now 立刻关机

4. wget网络下载

5. ps 查看进程

常与grep同用
ps -ef|grep tomcat 查看tomcat服务状态
ps -aux 查看所有进程
进程状态解析

状态 含义 解释
R 运行 running
S 中断 sleep 也可以叫等待,当有请求或者调用时变为R
D 不可中断 dead 死了,就不要鞭尸了
Z j僵死 zombie 没消失,类似于T状态,父进程让他死他才会死,直到父进程调用wait4()系统函数后将进程释放
T 停止 进程收到停止信号后停止运行。

6. top 监控用


top涵盖了uptime,ps,free命令
第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。其中数据均为CPU数据并以百分比格式显示,例如“97.1 id”意味着有97.1%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。

  1. 什么状态的系统是最佳的
    为1时CPU满队列运行
    为5时压力过大(睡不着觉),服务器可能崩溃
    趋于1最好,大于1请求会有等待,导致系统缓慢

7. fidof 查看服务占用的端口

fidof http

8. kill 杀死进程

kill pid
kill -9 pid 强制杀死

9. killall 杀死整个服务的进程

pidof http 看这个服务是否运行着
killall http 干掉这个服务所有的进程

系统状态检测命令

1. ifconfig 查看网卡信息

[root@linuxprobe ~]# ifconfig
eno16777728: flags=4163  mtu 1500
        inet 192.168.10.10  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::20c:29ff:fec4:a409  prefixlen 64  scopeid 0x20
        ether 00:0c:29:c4:a4:09  txqueuelen 1000  (Ethernet)
        RX packets 36  bytes 3176 (3.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 38  bytes 4757 (4.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 0  (Local Loopback)
        RX packets 386  bytes 32780 (32.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 386  bytes 32780 (32.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 第一行网卡名
  2. 第二行 IP,掩码,网关
  3. 第四行mac地址
  4. 第五行接收的数据包数量及大小
  5. 第七行发送的数据包数量大小(可以查看系统下载的数量)

2. uname 查看系统内核和版本信息

  1. 第二个参数,主机名
  2. cat /etc/rehat-release 查看更准确地版本

3. uptime 查看负载

top第一行

4. free 查看内存

free -h
top第三行

5. df 查看硬盘

df -lh

6. who 查看谁登陆了

who am i 查看自己的终端是哪个用户,其实命令那行@前面就看到了

7. last 查看所有登陆记录

last

8. history 历史命令

history搭配!id使用,可直接执行那行
history
!123

9. sosreport 救命

好像没啥大用,后面看看吧

工作目录切换命令

1. pwd 我在哪

pwd

2. cd 打开

cd / 打开根目录
cd ~ 打开家目录,根据登陆用户不同而不同
cd … 打开上一层
cd - 返回上一个路径
cd xxx 打开相对路径
cd /xx/xx 打开绝对路径
均可以tab填补

3. ls 显示当前路径有啥

ll 显示详细信息
ll xxx 检索xxx打头的文件

4. cat 看小文件

cat -n 加行号

5. more 看大文件

回车可换页,下面还显示进度,像看小说

6.head 从上往下看

head -n 10 就看前十行

7. tail 从下往上看

tail -f xxx动态看

8. tr 替换

cat 123 | tr [a-z] [A-Z] &> 123 查看一个文件,然后替换里面文字,再写进去
echo “aasdadsfAAASDFF” | tr [a-z] [A-Z] &> 123

9. wc 统计

wc <参数> xxx
-l 行数(line)
-w 单词数 (word)
-c 字节数(not 字符 byte)

10. stat 查看文件的具体信息

stat xxxx

[root@linuxprobe ~]# stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1213 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 68912908 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2017-07-14 01:46:18.721255659 -0400
Modify: 2017-05-04 15:44:36.916027026 -0400
Change: 2017-05-04 15:44:36.916027026 -0400
Birth: -

Access 最后读取时间
Modify 最后修改内容的时间
Change 最后修改权限和属性的时间

11. touch 创建文件或者修改文件

touch xxxx 建目录
touch -a “20191002 12:12:00” xxxx改读取时间
touch -m “20191002 12:12:00” xxxx改修改时间
touch -d “20191002 12:12:00” xxxx 改所有时间

12. cut 根据切割符分离文件

cut -d: -f1 xxxx
-d 切割符号
:符号是什么
-f 要看的列数
1 列数

13. diff 比较不同

升级时比较配置文件或者其他文件或许有用
diff --brief a b 看是否不同
diff -c a b 列出来哪块不同

文件目录管理命令

1. touch 创建文件或者修改文件

touch xxxx 建目录
touch -a “20191002 12:12:00” xxxx改读取时间
touch -m “20191002 12:12:00” xxxx改修改时间
touch -d “20191002 12:12:00” xxxx 改所有时间

2. mkdir 创建目录

mkdir -p a/b/c 递归创建

3. cp 复制

cp <参数> a /xx/xx/b
-a = -pdr 复制属性等所有
-p 保留属性
-r 递归
-d 保留链接文件属性
-i 若存在询问是否替换
1. 为啥是保留链接文件属性?

4. mv 移动

mv a /xx/xx/b
剪切,重命名

5. rm 删除

rm -rf a 强制递归删除

6. dd 复制并生成

常用于生成一个特定大小的文件,或者取一个文件的某一部分
dd if=/dev/zero of=a count=1 bs=500M制作一个大小为500兆的文件a
dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso 这个就厉害了,只做个iso镜像文件,还能直接用。

7. file 查看文件属性

不同于stat ,前者是查询存储信息和时间信息,这个是查看属性

打包压缩与搜索命令

1. tar 压缩,解压缩

tar -czvf a.tar.gz a 压缩程gzip
tar -cjvf a.tar.bz2 a 压缩成bzip2
tar -xzvf a.tar.gz 解压
tar -xzvf a.tar.gz -C /opt/a 解压到/opt/a

2. grep 文件中查找

grep <参数> a b 从b文件里查询a数据
-i 不分大小写
-c 只返回行号
-n 显示行号
-v 反向选择
-b 查询二进制文件,把二进制文件当作文本文件
可以结合着ps等工具加管道符一起用
ps -ef|grep tomcat

3. find 查找

find -name “adsfb*” / 从根目录开始查找adsfb打头的文件


转载:https://blog.csdn.net/weixin_29394623/article/details/101919868
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场