liunx基本命令使用方法(四)

liunx基本命令使用方法(四)

vi 命令的使用

正常编辑的步骤第二篇博客已经阐述。接下来说下在vi中复制粘贴遇到的坑。

注:很多小伙伴从其他文档复制内容粘贴到使用vi命令打开的文件中,出现首行丢失等内容不完整的现象。

解决办法:vi打开的文件必须按 i 键进入编辑模式,再进行粘贴。

使用vi打开文件查找关键词:vi打开文件,按shift+:进入尾行模式。输入:/关键词,回车光标自动跳到关键词所在的行,按N键寻找下一个关键词

设置行号

set nu  显示行号(按shift+:进入尾行模式输入:set nu)

    20 # Root password

    21 rootpw --iscrypted $6$8TKBzKEIaOfvtp47$ecF0zJqdF5QSqUmNMsKT35aAAS0EstXE8fvP40uaXn7iYxqREd0QUqeh5inX88yAbYrqm6sEjLWPrlafE8E9l0

    22 # System services

    23 services --disabled="chronyd"

:set nu

set nonu   关闭显示 (按shift+:进入尾行模式输入:set nonu)

network --bootproto=dhcp --device=eno16777736 --ipv6=auto --activate

network  --hostname=localhost.localdomain

# Root password

rootpw --iscrypted $6$8TKBzKEIaOfvtp47$ecF0zJqdF5QSqUmNMsKT35aAAS0EstXE8fvP40uaXn7iYxqREd0QUqeh5inX88yAbYrqm6sEjLWPrlafE8E9l0

# System services

services --disabled="chronyd"

:set nonu

vi 清空文件这个内容

命令行模式常见的快捷键:

dd 删除当前行

dG 删除光标当前及以下的所有行

ndd 删除光标当前及以下的n行

gg 跳转到第一行的第一个字母

G  跳转到最后一行的第一个字母

shift+$ 行尾

gg + dG

注意:使用VI编辑官方配置文件时,请先备份。

系统命令

df -h 查看磁盘

[root@localhost ~]# df -h

文件系统                容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root  18G  1.1G  17G    6% /

devtmpfs                7.8G    0  7.8G    0% /dev

tmpfs                    7.8G    0  7.8G    0% /dev/shm

tmpfs                    7.8G  81M  7.7G    2% /run

tmpfs                    7.8G    0  7.8G    0% /sys/fs/cgroup

/dev/sda1                497M  125M  373M  25% /boot

tmpfs                    1.6G    0  1.6G    0% /run/user/0

free -m 查看内存

[root@localhost ~]# free -m

              total        used        free      shared  buff/cache  available

Mem:          15872        238      15129          80        503      15282

Swap:          2047          0        2047

top 查看负载

[root@localhost ~]# top

top - 10:27:40 up 1 day, 13:25,  1 user,  load average: 0.05, 0.03, 0.14 ( 后面三个数字分别代表不同时间段即一分钟、五分钟和十五分钟的系统平均负载。 超过10请及时检查服务器)

Tasks: 374 total,  1 running, 373 sleeping,  0 stopped,  0 zombie

%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st

KiB Mem : 16253248 total, 15491340 free,  246108 used,  515800 buff/cache

KiB Swap:  2097148 total,  2097148 free,        0 used. 15647308 avail Mem

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

50472 root      20  0      0      0      0 S  0.3  0.0  0:00.94 kworker/0:0                                                     

    1 root      20  0  44908  7640  2608 S  0.0  0.0  0:34.58 systemd       

注意:查看负载发现有一个进程CPU占用超过100%以上,可能是代码的问题,如果相同的代码在其他机器运行没问题,极可能是硬件问题,建议重启服务器。

查看进程 查看端口号

进程

[root@localhost ~]# ps -ef|grep ssh

root      1497      1  0 11月16 ?      00:00:08 /usr/sbin/sshd -D

root      27971  1497  0 11月17 ?      00:00:00 sshd: root

root      49315  1497  0 08:59 ?        00:00:00 sshd: root

root      49607  1497  0 09:08 ?        00:00:00 sshd: root

root      50297  1497  0 09:35 ?        00:00:00 sshd: root@pts/0

root      51921  1497  0 10:39 ?        00:00:00 sshd: root

root      51979  1497  0 10:42 ?        00:00:00 sshd: root

root      51993  1497  0 10:43 ?        00:00:00 sshd: unknown [priv]

sshd      51994  51993  0 10:43 ?        00:00:00 sshd: unknown [net]

进程用户   进程的pid   父id                                    进程用户的内容(进程所属的目录 log -Xmx -Xms)

查看端口号

netstat -nlp 

[root@localhost ~]# netstat -nlp | grep ssh 

tcp        0      0 0.0.0.0:22              0.0.0.0:*              LISTEN      1497/sshd         

tcp6      0      0 :::22                  :::*                    LISTEN      1497/sshd   

通过pid找port

运行、查看服务

centos 6.x运行服务的命令 service 服务名称 start

centos 7.x运行服务的命令 systemctl start 服务名称1 名称2 ...

centos 6.x查看服务的命令 service 服务名称 status

centos 7.x运行服务的命令 systemctl status服务名称1 名称2 ...

[root@localhost ~]# ps -ef | grep ssh

root      1497      1  0 11月16 ?      00:00:08 /usr/sbin/sshd -D

root      27971  1497  0 11月17 ?      00:00:00 sshd: root

root      49315  1497  0 08:59 ?        00:00:00 sshd: root

root      49607  1497  0 09:08 ?        00:00:00 sshd: root

root      50297  1497  0 09:35 ?        00:00:00 sshd: root@pts/0

root      51921  1497  0 10:39 ?        00:00:00 sshd: root

root      52063  1497  0 10:45 ?        00:00:00 sshd: root

root      52191  1497  0 10:49 ?        00:00:00 sshd: root

root      52235  1497  0 10:51 ?        00:00:00 sshd: root

root      52270  1497  0 10:53 ?        00:00:00 sshd: [accepted]

sshd      52271  52270  0 10:53 ?        00:00:00 sshd: [net]

注意: 在centos部署大数据组件,发现一个错误 Connection refused 防火墙 web iptables

使用以下方法检测IP和端口:

ping ip 

telnet ip port   ip和端口号

0.0.0.0:22 当前的ip

:::22      当前的ip

192.168.0.3:22 当前的ip

----------------------------

127.0.0.1:22 本地自己访问自己  window和其他服务器无法进行访问

高危的命令

rm -rf /

vi 修改或者情况文件内容

kill -9   进程pid

kill -9   进程pid 进程pid 进程pid

kill -9  $(pgrep -f 匹配关键词)

杀进程之前,先ps 找到相关的进程,搞清楚,哪些是你要杀的,不然造成生产事故

安装 、卸载软件

安装

yum search xxx

yum install -y xxx-yyy

yum remove xxx-yyy

[root@localhost ~]# yum install httpd -y

卸载

rpm -qa | grep http

rpm -e --nodeps httpd-tools-2.4.6-90.el7.centos.x86_64

--nodeps  不校验,直接删除

wget :下载文件

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.16.2.tar.gz

压缩解压

zip 压缩

zip +文件名称 +路径

[root@localhost ~]# zip -r 11 1/*   (在文件外面压缩)

  adding: 1/2/ (stored 0%)

[root@localhost ~]# zip -r 11 ./*   ()在文件里面压缩)

  adding: 1/ (stored 0%)

  adding: 1/2/ (stored 0%)

  adding: 1/2/3/ (stored 0%)

  adding: anaconda-ks.cfg (deflated 39%)

  adding: a.pl (deflated 74%)

  adding: bash.tgz (deflated 0%)

  adding: perl.tar (stored 0%)

unzip  解压缩

[root@localhost ~]# unzip 11.zip  

tar 

参数说明 -c: 建立一个压缩文件的指令参数 (crate的缩写);

    -x:解开一个压缩文件的参数指令;

    -t:查看tarfile里面的文件

特别注意:c/x/t/ 只能存在一个!不能同时存在!

-z:是否同时角有gzip的属性,即是否需要使用gzip压缩

-j:是否同时具有bzip2的属性,即是否需要使用bzip2压缩

-v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!

-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!

例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成

       『 tar -zcvPf tfile sfile』才正确

-p :使用原文件的原来属性(属性不会依据使用者而变)

-P :可以使用绝对路径来压缩!

-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!

--exclude FILE:在压缩的过程中,不要将 FILE 打包!

 tar  -xzvf  压缩文件

tar -cvf /tmp/etc.tar /etc <==仅打包,不压缩!

tar -zcvf /tmp/etc.tar.gz /etc <==打包后,以 gzip 压缩

tar -jcvf /tmp/etc.tar.bz2 /etc <==打包后,以 bzip2 压缩

查阅 /tmp/etc.tar.gz 文件内有哪些文件?

tar -ztvf /tmp/etc.tar.gz

由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,

就得要加上 z 这个参数了!这很重要的!

tar -czvf 解压缩

将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下

cd /usr/local/src

tar -zxvf /tmp/etc.tar.gz

在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,

我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz ,

则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc

则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!

在 /tmp 底下,我只想要将 /tmp/etc.tar.gz 内的 etc/passwd 解开而已

cd /tmp

tar -zxvf /tmp/etc.tar.gz etc/passwd

我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,

就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!

将 /etc/ 内的所有文件备份下来,并且保存其权限!

tar -zxvpf /tmp/etc.tar.gz /etc

这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!

在 /home 当中,比 2005/06/01 新的文件才备份

tar -N '2005/06/01' -zcvf home.tar.gz /home

我要备份 /home, /etc ,但不要 /home/dmtsai

tar --exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc

将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!

cd /tmp

tar -cvf - /etc | tar -xvf -

你可能感兴趣的:(liunx基本命令使用方法(四))