Linux常用命令总结

学习linux好习惯

善于查看man page(manual)等帮助文档

利用好Tab键

掌握好一些快捷键

ctrl + c(停止当前进程)

history(查看命令历史)

ctrl + l(清屏,与clear命令作用相同)

 

常见问题

telnet不能用!!!提示:-bash: telnet: command not found

解决方式,重装一下telnet客户端。

centosubuntu

yum list telnet* 查看telnet相关的安装包

yum install telnet-server 安装telnet服务

yum install telnet.* 安装telnet客户端

Linux下如何查看版本信息

Linux下如何查看版本信息, 包括位数、版本信息以及CPU内核信息、CPU具体型号等等,整个CPU信息一目了然。

  # uname -a Linux查看版本当前操作系统内核信息)

  Linux localhost.localdomain 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 athlon i386 GNU/Linux

 

  # cat /proc/version Linux查看当前操作系统版本信息)

  # cat /etc/issue cat /etc/redhat-releaseLinux查看版本当前操作系统发行版信息)

  # cat /proc/cpuinfo Linux查看cpu相关信息,包括型号、主频、内核信息等)

  # getconf LONG_BIT Linux查看版本说明当前CPU运行在32bit模式下, 但不代表CPU不支持64bit

  # lsb_release -a

Linux查看CPU和内存使用情况

top 命令

CentOS 中,可以通过 top 命令来查看 CPU 使用状况。

运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 -- 用基于 top 的命令,

可以控制显示方式等等。

 

退出 top 的命令为 q (在 top 运行中敲 q 键一次)

 

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,

类似于Windows的任务管理器

 

可以直接使用top命令后,查看%MEM的内容。可以选择按进程查看或者按用户查看,

如想查看root用户的进程内存使用情况的话可以使用如下的命令:

top -u root

 

内容解释:

 

 PID:进程的ID

  USER:进程所有者

  PR:进程的优先级别,越小越优先被执行

  NInice:值

  VIRT:进程占用的虚拟内存

  RES:进程占用的物理内存

  SHR:进程使用的共享内存

  S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数

  %CPU:进程占用CPU的使用率

  %MEM:进程使用的物理内存和总内存的百分比

  TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。

  COMMAND:进程启动命令名称

 

 

操作实例:

  在命令行中输入 top

top - 02:53:32 up 16 days, 6:34, 17 users, load average: 0.24, 0.21, 0.24

Tasks: 481 total, 3 running, 474 sleeping, 0 stopped, 4 zombie

Cpu(s): 10.3%us, 1.8%sy, 0.0%ni, 86.6%id, 0.5%wa, 0.2%hi, 0.6%si, 0.0%st

Mem: 4042764k total, 4001096k used, 41668k free, 383536k buffers

Swap: 2104472k total, 7900k used, 2096572k free, 1557040k cached



PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND



32497 jacky 20 0 669m 222m 31m R 10 5.6 29:27.62 firefox


4788 yiuwing 20 0 257m 18m 13m S 5 0.5 5:42.44 konsole


5657 Liuxiaof 20 0 585m 159m 30m S 4 4.0 5:25.06 firefox


4455 xiefc 20 0 542m 124m 30m R 4 3.1 7:23.03 firefox


6188 Liuxiaof 20 0 191m 17m 13m S 4 0.5 0:01.16 konsole

  即可启动 top

 

top 的全屏对话模式可分为3部分:系统信息栏、命令输入栏、进程列表栏。

 

第一部分 -- 最上部的 系统信息栏

 

  第一行(top):

 

    00:11:04”为系统当前时刻;

 

    3:35”为系统启动后到现在的运作时间;

 

    2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 

同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目;

 

    load average”为当前系统负载的平均值,后面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数,

一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程;

 

  第二行(Tasks):

 

    59 total”为当前系统进程总数;

 

    1 running”为当前运行中的进程数;

 

    58 sleeping”为当前处于等待状态中的进程数;

 

    0 stoped”为被停止的系统进程数;

 

    0 zombie”为被复原的进程数;

 

  第三行(Cpus):

 

    分别表示了 CPU 当前的使用率;

 

  第四行(Mem):

 

    分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;

 

  第五行(Swap):

 

    表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。

通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。

 

第二部分 -- 中间部分的内部命令提示栏:

 

  top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:

 

  s - 改变画面更新频率

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四行 Mem 第五行 Swap 信息的表示

  N - PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  h - 显示帮助

  n - 设置在进程列表所显示进程的数量

  q - 退出 top

 

第三部分 -- 最下部分的进程列表栏:

 

PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式

 

Linux下查看内存我们一般用free命令:

[root@scs-2 tmp]# free


     total   used    free shared buffers cached


Mem: 3266180 3250004 16176 0     110652  2668236


-/+ buffers/cache: 471116 2795064


Swap: 2048276 80160 1968116

下面是对这些数值的解释:

total:总计物理内存的大小。

used:已使用多大。

free:可用有多少。

Shared:多个进程共享的内存总额。

Buffers/cached:磁盘缓存的大小。

 

第三行(-/+ buffers/cached):

used:已使用多大。

free:可用有多少。

 

第四行就不多解释了。

 

区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free 

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OSbuffers/cached 都是属于被使用,

所以他的可用内存是16176KB,已用内存是3250004KB,

其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

 

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,

因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。

所以从应用程序的角度来说,可用内存=系统free memory+buffers+cached

 

top命令

top命令使用过程中,还可以使用一些交互的命令来完成其它参数的功能。这些命令是通过快捷键启动的。

 

<空格>:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

 

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。

但是,它的缺点是会消耗很多系统资源。

 

使用top命令可以监视指定用户,缺省情况是监视所有用户的进程。

如果想查看指定用户的情况,在终端中按“U”键,然后输入用户名,系统就会切换为指定用户的进程运行界面。

 

free命令

用来显示内存的使用情况,使用权限是所有用户。

格式

free [-b -k -m] [-o] [-s delay] [-t] [-V]

主要参数

b k m:分别以字节(KBMB)为单位显示内存使用情况。

s delay:显示每隔多少秒数来显示一次内存使用情况。

t:显示内存总和列。

o:不显示缓冲区调节列。

应用实例

  • free命令是用来查看内存使用情况的主要命令。
  • top命令相比,它的优点是使用简单,并且只占用很少的系统资源。
  • 通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。

free b s5

 系统时间查看

 

date -R

修改系统时间。

linux系统时钟有两个,

  • 一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,
  • 另一个是系统时钟,是linux系统Kernel时间。
  • Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。
  • 有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。

date命令将日期设置为2014618

---- date -s 06/18/14

将时间设置为142050

---- date -s 14:20:50

将时间设置为2014618141630秒(MMDDhhmmYYYY.ss

----date 0618141614.30

 

linux系统修改系统时间与时区

hwclock/clock 命令查看、设置硬件时间

查看系统硬件时钟

hwclock --show

或者

clock --show

设置硬件时间

hwclock --set --date="03/29/17 15:27:25" (月/日/年时:分:秒)

或者

# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)

同步系统及硬件时钟。

可以使用hwclock或者clock进行同步,

硬件时钟与系统时钟同步:

# hwclock --hctosys 或者 # clock --hctosys hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

系统时钟和硬件时钟同步:

# hwclock --systohc或者# clock --systohc 即用系统时钟同步硬件时钟

Linux查找最近修改的文件

查找当前目录下.phtml文件中,最近30分钟内修改过的文件。

find . -name ‘*.phtml -type f -mmin -30

 

查找当前目录下.phtml文件中,最近30分钟内修改过的文件,的详细情况

find . -name ‘*.phtml -type f -mmin -30 -ls

 

查找当前目录下,最近1天内修改过的常规文件。

find . -type f -mtime -1

 

查找当前目录下,最近1天前(2天内)修改过的常规文件。

find . -type f -mtime +1

 

Linux系统文件有三个主要的时间属性,分别是 ctime(change time), atime(access time), mtime(modify time)。
 

这三个时间很容易混淆,准备深入了解linux的童鞋请区分这三者的区别

atime:Access time,

是在读取文件或者执行文件时更改,即文件最后一次被读取的时间。



说明: st_atime

Time when file data was last accessed. Changed by the

following functions: creat(), mknod(), pipe(),

utime(2), and read(2).

mtime:Modified time,



是在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间。



说明: st_mtime

Time when data was last modified. Changed by the fol-

lowing functions: creat(), mknod(), pipe(), utime(),

and write(2).

ctime:Change time,



是在写入文件、更改所有者、权限或链接设置时随 Inode 的内容更改而更改,即文件状态最后一次被改变的时间。



说明: st_ctime



Time when file status was last changed. Changed by the

following functions: chmod(), chown(), creat(),

link(2), mknod(), pipe(), unlink(2), utime(), and

write().



很多人把它理解成create time,包括很多误导人的书籍也是这么写。实际上ctime是指change time。



注意:

1、修改是文本本身的内容发生了变化(mtime)

 改变是文件的索引节点发生了改变(ctime)

2、如果修改了文件内容,则同时更新ctime和mtime

3、如果只改变了文件索引节点,比如修改权限,则只是改变了ctime

4、如果使用ext3文件系统的时候,在mount的时候使用了noatime参数则不会更新atime的信息,

即访问文件之后atime不会被修改,而这个不代表真实情况



小知识:这三个 time stamp 都放在 inode 中。若mtime,atime修改, 

inode 就一定会改,相应的inode改了,那ctime 也就跟着要改了,之所以在mount option中使用 noatime, 

就是不想 file system 做太多的修改, 从而改善读取性能.

查看文件的 atimectime mtime

# ls -lc filename 列出文件的 ctime

# ls -lu filename 列出文件的 atime

# ls -l filename 列出文件的 mtime

 

  Linux下查看文件和文件夹大小的df和du命令

 

当磁盘大小超过标准时会有报警提示,这时如果掌握dfdu命令是非常明智的选择。

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

[root@localhost ~]# df #列出各文件系统的磁盘空间使用情况 

[root@localhost ~]# df -ia #列出各文件系统的i节点使用情况
[root@localhost ~]# df -T #列出文件系统的类型
[root@localhost ~]# df -h #目前磁盘空间和使用情况 以更易读的方式显示
[root@localhost ~]# df -k #以单位显示磁盘的使用情况

[root@rudder ~]# du #查看当前目录下的,所有文件和目录

[root@rudder ~]# du -ah #详细查看当前目录,子目录下的,所有文件和目录
[root@rudder ~]# du test.bz2 #查看单个文件
[root@bsso yayu]# du -h --max-depth=1 work/testing
  • du 统计文件大小相加
  • df 统计数据块使用情况

 

 根据端口号查询进程pid

netstat -nptl

netstat -nptl |grep 8082

常见参数

  • -a (all)显示所有选项,默认不显示LISTEN相关
  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字。
  • -l 仅列出有在 Listen (监听) 的服務状态
  • -p 显示建立相关链接的程序名
  • -r 显示路由信息,路由表
  • -e 显示扩展信息,例如uid
  • -s 按各个协议进行统计
  • -c 每隔一个固定时间,执行该netstat命令。
  •  

提示:LISTENLISTENING的状态只有用-a或者-l才能看到

 

 pstree以树结构显示进程

pstree -aup |grep tomcat

 删除文件  

rm filename (rm -r 删除文件夹 rm -rf 强制删除文件或文件夹)

移动文件  修改文件名

mv a/wenjian1.txt b/file1.txt (移动文件的同时还修改了文件名)

tar 文件、目录打(解)包

tar -xzvf testdir.tar.gz 解压到当前目录下

tar -zxvf testdir.tar.gz -C Downloads/ 解压到指定的Downloads目录下

  • -c 建立一个压缩文件的参数指令(create
  • -x 解开一个压缩文件的参数指令(extract
  • -z 是否需要用 gzip 压缩
  • -j 是否需要用 bzip2 压缩
  • -v 压缩的过程中显示文件(verbose
  • -f 使用档名,在 f 之后要立即接档名(file

 

 jinfo用法

  • jinfojdk自带的命令,用来查看jvm的配置参数。通常会先使用jps查看java进程的id,然后使用jinfo查看指定pidjvm信息

查看所有的参数

jinfo process_id

查看jvm的参数

jinfo -flags process_id

查看java系统参数

jinfo -sysprops process_id

 防火墙&开放端口

 

Centos 7 firewall 命令:

 

查看已经开放的端口:

firewall-cmd --list-ports

 

开启端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

 

命令含义:

zone #作用域

add-port=80/tcp #添加端口,格式为:端口/通讯协议

permanent #永久生效,没有此参数重启后失效

 

重启防火墙

firewall-cmd --reload #重启firewall

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

CentOS 7 以下版本 iptables 命令

 

---如要开放80228080 端口,输入以下命令即可【命令方式】

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT

/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

 

---如要开放80 端口,输入以下命令即可【手动方式】

   vi /etc/sysconfig/iptables  打开配置文件加入如下语句:      -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT   重启防火墙,修改完成

然后保存:

/etc/rc.d/init.d/iptables save

重启防火墙,修改生效

 service iptables restart    

查看打开的端口:

/etc/init.d/iptables status

 

关闭防火墙

1 永久性生效,重启后不会复原

开启: chkconfig iptables on

关闭: chkconfig iptables off

 

2 即时生效,重启后复原

开启: service iptables start

重启: service iptables restart

关闭: service iptables stop

状态: service iptables status

  • 需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

 查看文本文件内容 

cat wodeqingshu.txt

more wodeqingshu.txt 可以分页看

less wodeqingshu.txt 不仅可以分页,还可以方便地搜索,回翻等操作

空格--翻页;向下/上的箭头----上下翻行;shift+g--文件末尾;gg--文件开始;

先按冒号,再按“/关键字”---搜索

 

tail -10 wodeqingshu.txt 查看文件的尾部的10

程序打出的日志在生产实践中具有非凡的debug的意义

tail -f user.log 实时刷新显示文件的尾部

head -20 wodeqingshu.txt 查看文件的头部20

 

Vim编辑器

1.1 Vi简介

  • vi / vim Unix / Linux上最常用的文本编辑器而且功能非常强大。
  • 只有命令,没有菜单。

Vim工作模式:

 

1.2 编辑使用的快捷键

i 在光标前插入

I 在光标当前行开始插入

a 在光标后插入

A 在光标当前行末尾插入

o 在光标当前行的下一行插入新行

O 在光标当前行的上一行插入新行

 

yy复制当前行

yw复制一个单词

y$复制光标到结尾

y^复制光标到行首

#yy复制#行

#yw复制#个单词

m,ny复制mn行内容

粘贴在命令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

1.3 Vi编辑定位使用命令

:set nu 显示行号

:set nonu 取消行号

gg 到文本的第一行

G 到文本的最后一行

o 新建一行

:n 到文本的第n

1.4 删除键及命令

x 删除光标所在处字符

nx 删除光标所在处后的n个字符

dd 删除光标所在行。ndd删除n

dG 删除光标所在行到末尾行的所以内容

D 删除光标所在处到行尾的内容

:n1,n2d 删除指定范围的行

1.5 替换和取消命令及键

u undo,取消上一步操作

Ctrl + r redo,返回到undo之前

r 替换光标所在处的字符

R 从光标所在处开始替换,按Esc键结束

Shift+ zz 保存退出,与“:wq”作用相同

v 进入字符可视模式(选中)

V Shift + v 进入行可视模式(整行选中)

Ctrl + v 进入块可视模式(按照块选中)

1.6 查找

命令模式下,输入 /word 后回车,即查找word

n 查找下一个匹配单词,按 N 查找上一个匹配单词。

/后跟查找的字符串。vim会显示文本中第一个出现的字符串。

?后跟查找的字符串。vim会显示文本中最后一个出现的字符串。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 博客之星2020 设计师:CY__ 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值