Linux操作命令

一、系统操作

1.帮忙命令

1.man 帮助

man 是 manual 的缩写
man 帮助用法演示
# man ls
man 也是一条命令,分为 9 章,可以使用 man 命令获得 man 的帮助
# man 7 man

2.help

 
shell(命令解释器)自带的命令称为内部命令,其他的是外部命令
内部命令使用 help 帮助
# help cd
外部命令使用help帮助
# ls --help

3.info

info 帮助比 help 更详细,作为 help 的补充
# info ls


2.删除命令


rm -f jdk-8u144-linux-x64.tar.gz

命令解释:
rm    删除文件或目录
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
-f      强制删除文件或目录


rm -rf nginx-1.7.8  删除一个文件夹

@see  https://zhidao.baidu.com/question/405772331.html

3.磁盘命令

1.查看磁盘空间大小

df -h命令

可以查看到当前的服务器磁盘的使用率和大小了,很容易理解图片上反馈的内容,可以知道当前使用的服务器有两个磁盘,一个20G大的磁盘还剩下9.9G大的空间。

2.查看文件大小

ll -h命令查询文件大小

如图所示:

du -h 命令

如图所示,data文件夹大小总共218M

3.磁盘IO情况

这里,我们可以了解一下 Linux下I/O 分析工具。

(1) iostat

iostat -x

关于 CPU 的指标,我们重点看  %iowait 和 %idle 两个指标。

  • %iowait:CPU 等待输入输出完成时间的百分比;

    %idle:CPU 空闲时间百分比。

若%iowait 的值过高,则表示硬盘存在 I/O 瓶颈;若 %idle 值高,表示 CPU 较空闲。如果 %idle 值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU。

关于 Disk 指标,我们重点看 %utils、svctm、await 和 avgque-sz几个指标。

  • avgqu-sz: 平均 I/O 队列长度;

    await: 平均每次设备 I/O 操作的等待时间 (毫秒);

    svctm: 平均每次设备 I/O 操作的服务时间 (毫秒);

    %util: 一秒中有百分之多少的时间用于 I/O 操作,即被 I/O 消耗的 CPU 百分比

若 %util 接近 100%,说明产生的 I/O 请求太多,I/O 系统已经满负荷,该磁盘可能存在瓶颈;若 svctm 比较接近 await,说明 I/O 几乎不需要等待;若 await 远大于 svctm,说明 I/O 队列太长,I/O 响应太慢,则需要进行必要优化;若 avgqu-sz 比较大,也表示有大量 IO 在等待。

4.内存命令

1.查看服务器内存大小

free -h命令查看内存使用情况


其中第一行用全局角度描述系统使用的内存状况: 
total——总物理内存 
used——已使用内存,一般情况这个值会比较大,因为这个值包括了cache+应用程序使用的内存 
free——完全未被使用的内存 
shared——应用程序共享内存 
buffers——缓存,主要用于目录方面,inode值等(ls大目录可看到这个值增加) 
cached——缓存,用于已打开的文件 


注意-/+ buffers/cache: 6100 67628这行。 
前个值表示-buffers/cache—–>不包括缓存,应用程序物理内存使用情况,即 -buffers/cache=used-buffers-cached ,所以此时应用程序才用了6100k内存 。 
后个值表示+buffers/cache—–>所有可供应用程序使用的内存大小,free加上缓存值,即+buffers/cache=free+buffers+cached ,所以此时还有67628k 内存可供程序使用。

思考:

1.top和free命令的区别?


top看到的内存使用情况,有一部分是缓存,那个缓存有多少呢?注意看最后有个mem那行后面有个buffers ,swap那行后面有个cached,这两个就是缓存大小。
所以如果要计算应用程序真正使用物理内存的情况,应该是used-cached-buffers才对,所以刚才top看到的物理内存使用情况为70048k-64716k=5332k。所以也才没用多少嘛!

使用top命令或者free命令看到的内存使用率used中,包含了缓存,如果要查看应用程序真正的内存使用情况,应该是used-cached-buffers ,或者直接看free命令结果的-/+ buffers/cache行信息。


2.Linux内存 mem 和 swap


mem:表示物理内存统计

swap:表示硬盘上交换分区的使用情况


1)当物理内存快被耗尽时,系统并没有崩溃,而是拿 swap 做临时内存,当两者都耗尽,系统 OutofMemory

2)物理内存达到峰值,系统中一些不常用的进程内存占用被提到 swap 区

3)当 Men 区的资源进行释放时,被挪到 swap 的内存并不会全部回来,随着系统或者程序的唤醒才会慢慢回到 men 区

4)swap 是内存不够时,磁盘虚拟出来的内存,磁盘主要是 I/O 级别的操作,并不是系统内核级别的操作,处理速度跟 mem 区不是一个等级

5.CPU命令

1.查看CPU信息

lscpu 显示CPU详细信息

Architecture:        # 架构
CPU op-mode(s):      # CPU 运行模式
Byte Order:          # 字节序
CPU(s):              # 逻辑CPU颗数
On-line CPU(s) list: # 在线CPU列表
Thread(s) per core:  # 每个核的线程数
Core(s) per socket:  # 每个CPU插槽核数/每颗物理CPU核数
CPU socket(s):       # CPU插槽数
NUMA node(s):        # NUMA节点
Vendor ID:           # CPU厂商ID
CPU family:          # CPU系列
Model:               # 型号
Model name:          # 型号名称
Stepping:            # 步进
CPU MHz:             # CPU主频
CPU max MHz:         # CPU最大主频
CPU min MHz:         # CPU最小主频
Virtualization:      # CPU支持的虚拟化技术
L1d cache:           # 一级缓存(CPU的L1数据缓存)
L1i cache:           # 一级缓存(CPU的L1指令缓存)
L2 cache:            # 二级缓存
 

二、软件管理

1.软件管家yum

Windows 上有了软件管家,就方便多了。

Linux 也有自己的软件管家,CentOS 下面是 yum,Ubuntu 下面是 apt-get。

那么查看自己是哪种系统可以用下面的命令

查看自己系统是否安装了yum,可以用下面的命令

 如果YUM已安装,该命令将输出yum的完整路径。如果没有输出或者提示命令未找到,则表示YUM可能未安装。

你可以根据关键词搜索,例如搜索jdk、yum search jdk和apt-cache search jdk,可以搜索出很多很多可以安装的 jdk 版本。如果数目太多,你可以通过管道 grep、more、less 来进行过滤。

选中一个之后,我们就可以进行安装了。你可以用yum install java-11-openjdk.x86_64和apt-get install openjdk-9-jdk来进行安装。

安装以后,如何卸载呢?我们可以使用yum erase java-11-openjdk.x86_64和apt-get purge openjdk-9-jdk。

2.软件安装

对于 Windows 系统,最方便的方式就是下载 exe,也就是安装文件。下载后我们直接双击安装即可。

对于 Linux 来讲,也是类似的方法,你可以下载 rpm 或者 deb。这个就是 Linux 下面的安装包。为什么有两种呢?因为 Linux 现在常用的有两大体系,一个是 CentOS 体系,一个是 Ubuntu 体系,前者使用 rpm,后者使用 deb。

在 Linux 上面,没有双击安装这一说,因此想要安装,我们还得需要命令。CentOS 下面使用rpm -i jdk-XXX_linux-x64_bin.rpm进行安装,Ubuntu 下面使用dpkg -i jdk-XXX_linux-x64_bin.deb。其中 -i 就是 install 的意思。 

有一种简单粗暴的方法,就是将安装好的路径直接下载下来,然后解压缩成为一个整的路径。在 JDK 的安装目录中,Windows 有 jdk-XXX_Windows-x64_bin.zip,这是 Windows 下常用的压缩模式。Linux 有 jdk-XXX_linux-x64_bin.tar.gz,这是 Linux 下常用的压缩模式。

如何下载呢?Linux 上面有一个工具 wget,后面加上链接,就能从网上下载了。

下载下来后,我们就可以进行解压缩了。Windows 下可以有 winzip 之类的解压缩程序,Linux 下面默认会有 tar 程序。

其实无论是先下载再安装,还是通过软件管家进行安装,都是下载一些文件,然后将这些文件放在某个路径下,然后在相应的配置文件中配置一下。例如,在 Windows 里面,最终会变成 C:\Program Files 下面的一个文件夹以及注册表里面的一些配置。对应 Linux 里面会放的更散一点。例如,主执行文件会放在 /usr/bin 或者 /usr/sbin 下面,其他的库文件会放在 /var 下面,配置文件会放在 /etc 下面。


1.查看某个软件安装目录

使用which命令

如查看Java的安装目录

which java

执行结果为:

查看nginx安装目录

3.软件运行

好了,装好了程序,可以运行程序了。

我们都知道 Windows 下的程序,如果后缀名是 exe,双击就可以运行了。

Linux 不是根据后缀名来执行的。它的执行条件是这样的:只要文件有 x 执行权限,都能到文件所在的目录下,通过./filename运行这个程序。当然,如果放在 PATH 里设置的路径下面,就不用./ 了,直接输入文件名就可以运行了,Linux 会帮你找。

这是Linux 执行程序最常用的一种方式,通过 shell 在交互命令行里面运行

这样执行的程序可能需要和用户进行交互,例如允许让用户输入,然后输出结果也打印到交互命令行上。这种方式比较适合运行一些简单的命令,例如通过 date 获取当前时间。这种模式的缺点是,一旦当前的交互命令行退出,程序就停止运行了。

这样显然不能用来运行那些需要“永远“在线的程序。比如说,运行一个博客程序,我总不能老是开着交互命令行,博客才可以提供服务。一旦我要去睡觉了,关了命令行,我的博客别人就不能访问了,这样肯定是不行的。

于是,我们就有了Linux 运行程序的第二种方式,后台运行

这个时候,我们往往使用nohup命令。这个命令的意思是 no hang up(不挂起),也就是说,当前交互命令行退出的时候,程序还要在。

当然这个时候,程序不能霸占交互命令行,而是应该在后台运行。最后加一个 &,就表示后台运行。

另外一个要处理的就是输出,原来什么都打印在交互命令行里,现在在后台运行了,输出到哪里呢?输出到文件是最好的。

最终命令的一般形式为nohup command >out.file 2>&1 &。这里面,“1”表示文件描述符 1,表示标准输出,“2”表示文件描述符 2,意思是标准错误输出,“2>&1”表示标准输出和错误输出合并了。合并到哪里去呢?到 out.file 里。

在 Windows 里面还有一种程序,称为服务。这是系统启动的时候就在的,我们可以通过控制面板的服务管理启动和关闭它。

Linux 也有相应的服务,这就是程序运行的第三种方式,以服务的方式运行。例如常用的数据库 MySQL,就可以使用这种方式运行。

4.软件关闭

那这个进程如何关闭呢?我们假设启动的程序包含某个关键字,那就可以使用下面的命令。

ps -ef |grep 关键字 |awk '{print $2}'|xargs kill -9

从这个命令中,我们多少能看出 shell 的灵活性和精巧组合。

其中 ps -ef 可以单独执行,列出所有正在运行的程序,grep 上面我们介绍过了,通过关键字找到咱们刚才启动的程序。

awk 工具可以很灵活地对文本进行处理,这里的 awk '{print $2}'是指第二列的内容,是运行的程序 ID。我们可以通过 xargs 传递给 kill -9,也就是发给这个运行的程序一个信号,让它关闭。如果你已经知道运行的程序 ID,可以直接使用 kill 关闭运行的程序。

三、文件相关

1.文件编辑

要编辑文件,可以使用文本编辑器 vi,也可以使用更加友好的 vim。如果默认没有安装,可以通过 yum install vim 及 apt-get install vim 进行安装。

vim 就像 Windows 里面的 notepad 一样,是我们第一个要学会的工具。要不然编辑、查看配置文件,这些操作你都没办法完成。vim 是一个很复杂的工具,刚上手的时候,你只需要记住几个命令就行了。

1.vim命令

1.vi模式

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

输入模式

在命令模式下按下i就进入了输入模式。

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

按ESC键可随时退出底线命令模式。

1.使用vim进入文件
$ vim runoob.txt
2.按下 i 进入输入模式(也称为编辑模式),开始编辑文字

在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。

3.退出vim

首先按下 ESC 按钮回到一般模式,然后在一般模式中按下 :wq 储存后离开 vi。

参考:Linux vi/vim | 菜鸟教程


2.文件移动

远程负责:

scp -r local_folder remote_username@remote_ip:remote_folder 

@see  http://www.runoob.com/linux/linux-comm-scp.html

3.文件查询

cat,head,tail等

head 命令可用于查看文件的开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容。

如:

显示 notes.log 文件的开头 5 行,请输入以下命令:

head -n 5 runoob_notes.log

4.ls列出文件

列出当前目录下的文件我们用的是ls,意思是 list。

 ls -l,也就是用列表的方式列出文件。

# ls -l

drwxr-xr-x 6 root root 4096 Oct 20 2017 apt

-rw-r--r-- 1 root root 211 Oct 20 2017 hosts

其中第一个字段的第一个字符是文件类型。如果是“-”,表示普通文件;如果是 d,就表示目录。当然还有很多种文件类型,咱们后面遇到的时候再说,你现在先记住我说的这两个就行了。

 ls -la 能看到所有包含隐藏的文件,a 就是 all


5.权限操作

当出现权限不够时:

1.su root
然后输入对应的用户名和密码

2.sudo -i

直接使用管理员权限

@see Linux下出现permission denied的解决办法 https://www.cnblogs.com/cyril227/p/10106269.html

6.搜索管道

rpm -qa | grep jdk,这个命令是将列出来的所有软件形成一个输出。| 是管道,用于连接两个程序,前面 rpm -qa 的输出就放进管道里面,然后作为 grep 的输入,grep 将在里面进行搜索带关键词 jdk 的行,并且输出出来。grep 支持正则表达式,因此搜索的时候很灵活,再加上管道,这是一个很常用的模式。同理dpkg -l | grep jdk也是能够找到的。

二、进程资源

1.进程


查看进程

ps命令
PS是LINUX下最常用的也是非常强大的进程查看命令


检查java 进程是否存在.
ps -ef |grep java

检查tomcat进程是否存在.
ps -ef |grep tomcat


下面对命令选项进行说明:
-e 显示所有进程。
-f 全格式。

ps -e 列出程序时,显示每个程序所使用的环境变量。
ps -f 用ASCII字符显示树状结构,表达程序间的相互关系

中间的|是管道命令 是指ps命令与grep同时执行
grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

杀死进程

按流程杀死进程
kill 进程id


强制杀死进程
kill -9 进程id


kill -9和kill的区别

kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill -9发送的信号是SIGKILL,即exit
大部分程序接收到SIGTERM信号后,会先释放自己的资源,然后再停止。但是也有程序可能接收信号后,做一些其他的事情(如果程序正在等待IO,可能就不会立马做出响应,我在使用wkhtmltopdf转pdf的项目中遇到这现象),也就是说,SIGTERM多半是会被阻塞的。

然而kill -9命令,系统给对应程序发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。

2.资源管理相关

top命令

top命令:相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况。

top命令主要可以查看进程信息和cpu信息,内存信息等,具体情况如下:


 

参考文档

1.Linux 命令大全 | 菜鸟教程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Linux 操作命令详解 pdf 是一本介绍 Linux 系统常用命令的电子书籍。在该书中,你可以学习到许多与 Linux 操作系统相关的命令及其详细用法。 首先,该书会从 Linux 命令的基础知识开始介绍,包括命令的语法和参数。接着,它将分章节介绍常用的命令,如文件和目录的操作命令、进程管理命令、网络配置和通信命令等。 在文件和目录的操作命令章节中,你将学习到如何创建、复制、移动、重命名和删除文件和目录,以及如何查找和清理文件等。这些命令对于日常的文件和目录管理非常有用。 在进程管理命令章节中,你将了解如何查看当前运行的进程、停止或重启进程,以及如何管理进程的优先级和资源分配等。这些命令对于系统管理员和开发人员来说尤为重要。 而网络配置和通信命令章节则会介绍如何配置网络接口、查看和修改网络配置信息,以及如何进行远程登录和文件传输等。这些命令在网络管理和服务器部署方面起着重要的作用。 除了以上几个主要章节,该书还会介绍其他一些常用的命令,如文本处理命令、压缩和解压缩命令、系统管理命令等。这些命令在日常的工作和学习中也会经常用到。 总结来说,Linux 操作命令详解 pdf 是一本介绍 Linux 命令的电子书籍,通过学习该书,你可以系统地了解和掌握 Linux 操作命令的使用方法,提升在 Linux 系统下的工作效率和技术水平。该书对于初学者和有一定基础的用户都是非常有价值的。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值