一、cat命令
cat命令用来读取短文件非常方便(如果一个文件非常大的时候,用页命令如more、less、head、tail是比较方便的)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
用法:(1)一次显示整个文件,用cat命令查看文件:$ cat test.log
(2)$ cat -n test.log:在查看的时候加上行号
(3)可以使用通配符:$ cat -n *.log,把所有的log文件都显示出来(顺序显示)
也可以这样:$ cat -n test.log test1.log test2.log;结果用通配符输出结果是完全一样的
(4)与重定向操作符(>)一起使用,用于合并文件:$ cat test.log>> test1.log,这样就把test.log合并到
test1.log后面去了,合并的时候注意顺序,不能搞错。
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)
之后将内容附加到 textfile3 里
(5)从键盘创建一个文件。$ cat > filename 只能创建新文件,不能编辑已有文件
使用cat命令新建一个文件并通过键盘直接向文件中输入内容:$ cat > myfile.php
输入完成以后使用ctrl+d来保存并退出文件
(6)cat /dev/null > /etc/test.txt 此为清空/etc/test.txt内容
二、more命令
显示输出的内容、分页显示、提示文件的百分比
more [参数选项] [文件]
参数如下
+num 从第num行开始显示;
-num 定义屏幕大小,为num行;
-c 从顶部清屏然后显示;
-d 提示Press space to continue, 'q' to quit.(按空格继续,按q键退出,禁用响铃功能);
-p 通过清除窗口而不是滚屏来对文件进行换页。和-c参数有点相似;
-s 把连续的多个空行显示为一行;
+/pattern 从第一个pattern 单词前两行开始显示
参数举例:
more +4 /etc/profile 从profile的第4行开始显示;
more -4 /etc/profile 每屏显示4行;
more -dc /etc/profile 显示提示,并从终端或控制台顶部显示
more +/MAIL /etc/profile 从profile中的第一个MAIL单词的前两行开始显示;
more 的动作指令
退出more的动作指令是q
我们查看一个内容较大的文件时,ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏
Enter键可以向下滚动显示n行,n自定义,默认为1行
v 调用vi编辑器
三、 less命令
less 与 more 类似,但是比 more 更好的是,他可以[pg dn][pg up]翻页
区别:
1)more:以百分比的形式分页显示,提示给用户已经显示了多少内容
less:没有百分比的提示
2)less更加灵活,不仅可以有more的相同的翻页键,还可以通过【page down】【page up】上翻下翻页查看
已经显示出的内容,而more不具备
3)对less显示出的内容中可以使用 /'字符' 输入需要查找的字符或者字符串并高亮显示,而more 不具备
less搜索
当使用命令 less filename打开一个文件后,可以使用下面的方式在文件中搜索。搜索时整个文本中匹配的部分会
被高亮显示。
向前搜索
/ - 使用一个模式进行搜索,并定位到下一个匹配的文本
n - 向前查找下一个匹配的文本
N - 向后查找前一个匹配的文本
向后搜索
? - 使用模式进行搜索,并定位到前一个匹配的文本
n - 向后查找下一个匹配的文本
N - 向前查找前一个匹配的文本
v - 使用配置的编辑器编辑当前文件
退出less命令 按q键
浏览多个文件
方式一,传递多个参数给 less,就能浏览多个文件。less file1 file2
方式二,正在浏览一个文件时,使用 :e 打开另一个文件。less file1 :e file2
当打开多个文件时,使用如下命令在多个文件之间切换
:n - 浏览下一个文件(next下一个)
:p - 浏览前一个文件(prev上一个)
三、head命令和tail命令
head -n 100 test.log 显示test.log前100行,若不加参数-n就默认输出前面十行
tail -n 100 test.log 显示test.log最后100行
tail -f runlog.log 可以实时的显示新追加到文件中的信息,常用来跟踪日志文件
(执行del、ctrl-C、ctrl-X、ctrl-\均可以退出实时显示)
四、grep查找命令
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是
Global Regular Expression Print,表示全局正则表达式版本(打印与指定模式匹配的所有行)
grep [options]主要参数:
-n:显示匹配行及行号
-i:不区分大小写(只适用于单字符 默认情况区分大小写)
- x:输出完全匹配的内容
pattern正则表达式
[ ]:单个字符,如[A]即A符合要求 。
[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
. :匹配一个字符(所有的单个字符)。
* :匹配0或多个字符。
举例:
$ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行。
$ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。
$ more log.txt | grep -i 'error' 显示在log.txt中匹配error或ERROR的行
五、查看进程ps命令
ps命令是linex下查看进程最常用的命令,用于查看和监控后台进程的工作情况
参数:
-e :显示所有的进程
-a :显示终端上所有的进程,包括其他用户的进程(all)
-u : 显示有效使用者 (effective user) 相关的进程
-x :通常与 a 这个参数一起使用,可列出较完整信息
-f :全格式显示(full) 做一个更为完整的输出
-l : 长格式显示(long)较长、较详细的将该 PID
的的信息列出
最常用的参数是aux
举例:
ps aux
显示的项目有:USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
ps -ef|grep java 是用标准的格式显示含有java的进程
显示的项目有:UID , PID , PPID , C , STIME , TTY , TIME , CMD
六、中止进程kill命令
中止进程首先要知道进程ID(PID),用ps -ef查看一下PID,然后kill pid,这是最简单的用法
参数:
-s:指定发送的信号(signal),其中可用的信号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑,
砍掉, 结束; 详细的信号可以用 kill -l
kill -Signal pid
经常看到kill -9 pid,用于强行中止进程(即杀死进程)
这个-9表示什么意思呢?9是信号量,kill命令的工作原理是,向Linux系统的内核发送一个系统操作信号和某个进
程标识号,然后内核对进程标识号指定的进程进行操作。所以kill实际上是用来发送信号量给进程。可以通过
man
kill查看信号量列表。
TERM(或数字9)表示“无条件终止”;因此 kill - 9 表示强制杀死该进程;
而单独的kill则有局限性,例如后台进程,守护进程等;
停止和重启进程
有时候只想简单地停止和重启进程,可以用命令:kill -HUP pid 或者kill -1(数字1) pid
该命令让linux内核和缓地执行进程关闭,然后立即重新启动该进程,在配置应用程序时这个命令很方便
对配置文件做修改后需要使之生效就可以使用该命令重启进程即可。
最好在使用完kill -9命令后,再用free命令回收内存(kill -9突然中止运行的进程
中止后不能自我清理,导致系统
资源无法释放)
例:$ kill -9 XXX
$ free
其中,XXX是无用的进程标识号。然后使用下面命令:$ free 此时会发现可用内存容量增加了。
TERM信号:给父进程发送一个TERM信号,试图杀死它和它的子进程 如 $ kill -TERM pid
Linux下还提供了一个 killall命令
killall 杀死同一进程组内所有的进程,并且允许使用进程名而不是进程ID指定要终止的进程
例如:$ killall httpd
七、who命令
该命令主要用于查看当前在线上的用户情况
这个命令非常有用。如果用户想和其他用户建立即时通讯,比如使用talk命令,那么首先要确定的就是该用户确实在线上,不然talk进程就无法建立起来。又如,系统管理员希望监视每个登录的用户此时此刻的所作所为,也要使用who命令。
who命令显示以下信息
ebpp pts/0 2011-12-26 14:20 (144.131.254.134)
ebpp pts/1 2011-12-26 17:06 (172.16.26.23)
第一列是登录用户的帐号;
第二列是登录所使用的终端;
第三列是登录时间;
第四列是用户从什么地方登录的网络地址,这里是域名。
参数
-m 和“who am i”的作用一样,显示运行该程序的用户名
-q count 只显示用户的登录帐号和登录用户的数量
八、netstat命令
Netstat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连
接情况。利用netstat命令可以得知整个Linux系统的网络情况
常用参数:
netstat -a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接,断开连接(CLOSE_WAIT)或者处于联机等待状态的(TIME_WAIT)等
netstat -n 显示所有已建立的有效连接。
例子:netstat
显示结果:
Proto Local Address Foreign Address State
TCP Eagle:2929 219.137.227.10:4899 ESTABLISHED
协议(Proto):指是传输层通讯协议
本地机器名(Local Address):Eagle,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929)
远程机器名(Foreign Address):219.137.227.10
远程端口:4899
状态:ESTABLISHED
如何只查询tomcat的连接呢?
netstat -na|grep ESTAB|grep 80|wc -l
netstat -na|grep ESTAB|grep 8080|wc -l
九:查看CPU内存使用情况
通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次
top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。
第一部分 -- 最上部的 系统信息栏 :
<空格>:立刻刷新。
p:根据CPU使用大小进行排序。
t:根据时间、累计时间排序。
q:退出top命令。
m:切换显示内存信息。
t:切换显示进程和CPU状态信息。
c:切换显示命令名称和完整命令行。
m:根据使用内存大小进行排序。
s - 改变画面更新频率,如s5:每5s刷新一次
相关推荐
以下是一些基础但非常实用的Linux命令: 1. **ls**:列出目录内容,帮助用户查看当前工作目录下的文件和子目录。 2. **cd**:改变当前工作目录,用于在不同的路径之间切换。 3. **pwd**:打印工作目录,显示你当前...
3. **安装常用工具**:`apt-get`或`yum`是Linux中常用的包管理器,用于安装和更新软件。例如,`sudo apt-get install build-essential`会安装基础的开发工具集,如gcc和make。 4. **开发环境搭建**:这可能包括...
在项目实施过程中,"源文件"可能包含FTP服务器的配置脚本或源代码,"源程序备份"可能是FTP服务器软件的备份版本,"可执行文件"可能是编译后的FTP服务程序,而"项目文档"则可能详述了服务器的部署和维护指南。...
5. **部署与维护**:发布软件,并在使用过程中持续改进和维护。 #### 八、常见的研发模型 1. **瀑布模型**:按照顺序逐步推进,每一阶段完成后再进入下一阶段。 2. **原型模型**:先构建一个简单的原型供用户试用...
在Linux操作系统中,Python是一种常用的语言,尤其在系统管理和自动化任务中。Python的灵活性和丰富的库使得它成为开发环境配置的理想选择。本主题将深入探讨如何使用Python来初始化和配置Linux开发环境。 **一、...
用户可以直接在FinalShell的终端中输入Linux命令,执行系统维护任务,如安装软件、查看系统状态、编辑配置文件等。 **项目部署功能** FinalShell的强大之处在于其集成的项目部署工具。它支持批量执行命令,这对于...
但请注意,直接在Linux中使用这些头文件可能会存在问题,最好是将源代码移植到Linux,或者在Linux下找到对应的开源库进行替换。 以上就是搭建Linux C++开发环境的基本步骤,这个过程需要对Linux系统有一定的了解,...
- **重要性**:对于系统维护和故障排查非常重要,普通用户通常没有执行这些命令的权限。 #### 3. /usr (Unix System Resource操作系统资源文件目录) - **子目录说明**: - **/usr/bin**:存放系统软件安装时形成...
在Linux操作系统中,Shell是用户与系统交互的接口,它是一种命令解释器,负责解析用户的输入并执行相应的命令。不同的Shell有不同的语法特性和功能,这使得它们在特定场景下各有优势。本文将深入探讨三种常见的Shell...
通常,`.tar.gz`是Linux环境下的标准归档格式,可以使用`tar`命令解压。而`.rar`文件是Windows常用的压缩格式,可能需要先用WinRAR或类似工具在Linux上安装unrar来解压。 2. **解压Zookeeper安装包**: - 对于`...
- **测试Kickstart**:在实际环境中使用之前,建议先在虚拟机环境中进行测试,确保配置文件无误。 #### 五、Linux启动顺序 - **启动流程**:Linux系统的启动流程一般包括BIOS自检、加载启动加载器(如GRUB)、执行...
Shell脚本是通过一系列预定义命令和语法编写的脚本文件,可以在Shell环境中执行。它们是实现自动化任务的重要工具,尤其适用于Linux和Unix环境。 - **创建脚本**:使用文本编辑器创建一个包含Shell命令的文件。 - *...
用户可以轻松地为所有发行版添加和更新硬件兼容性信息。 #### Linux对HP PC的支持 这个页面提供了一份关于Linux对HP PC及其外设支持情况的概览。它主要是为了已经拥有HP电脑的用户提供信息参考。 #### Tuxhardware...
在Linux环境中,`sh`脚本是常用的自动化工具,用于执行一系列命令,特别是在启动Java应用程序时,如`java -jar`。这个标题和描述表明我们要讨论的是如何通过编写一个简单的Shell脚本来启动Java的JAR文件。这通常适用...
### Linux命令集与Shell基本语法知识点详解 #### 一、Linux目录结构 1. **目录树**: - 在Linux中,所有文件和目录都组织成一棵以`/`(根目录)为起点的树状结构,即所谓的“目录树”。 - 每个目录或文件都是这...
泛型在Java中用于类型安全,常在集合类如List、Map等中使用,确保添加、检索元素时的类型一致性,也可以在类、接口和方法中使用。 16. **Dubbo框架** Dubbo是一个高性能的Java RPC框架,用于服务治理,包括服务...
- **自动化部署工具**:Capistrano是一款常用的自动化部署工具,它可以简化部署流程,确保每次部署的一致性和可靠性。 - **容器化技术**:使用Docker等容器化技术可以提供一致的运行环境,便于跨平台部署。 - **监控...
Bash Shell是Unix和Linux操作系统中最常用的一种命令行解释器,全称为Bourne-Again SHell,它是GNU项目的一部分,由自由软件基金会维护。掌握Bash Shell对于提升Linux操作效率、编写自动化脚本以及进行系统管理具有...
掌握了这些知识后,开发者能够在各种规模的项目中高效地管理源代码的构建过程,实现自动化构建和部署,从而提高工作效率并减少人为错误。此外,熟练运用`make`命令还能帮助开发者更好地理解项目的构建流程,促进团队...