Linux常用命令

 

:q! 强制不保存退出

 关机:sudo halt

一般模式可以复制、粘贴、不能插入(除非进入另外一个模式)

 Linux文件与目录结构 

Linux系统中一切皆文件。

 Linux目录结构

 

复制代码
 /bin      (/usr/bin 、 /usr/local/bin)
是Binary的缩写, 这个目录存放着最经常使用的命令 
 /sbin    (/usr/sbin 、 /usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
 /home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
 /root
该目录为系统管理员,也称作超级权限者的用户主目录。
 /lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
 /lost+found
这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
 /etc
所有的系统管理所需要的配置文件和子目录
/usr
 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。
 /boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件,自己的安装别放这里
 /proc
这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
 /srv
service缩写,该目录存放一些服务启动之后需要提取的数据。
 /sys
 这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
 /tmp
这个目录是用来存放一些临时文件的。
 /dev
类似于windows的设备管理器,把所有的硬件用文件的形式存储。
 /media
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
 /mnt
系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在/mnt/上,然后进入该目录就可以查看里的内容了。
 /opt       
这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
 /usr/local 
这是另一个给主机额外安装软件所摆放的目录。一般是通过编译源码方式安装的程序。
/var
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
 /selinux
SELinux是一种安全子系统,它能控制程序只能访问特定文件。
复制代码

 

VI/VIM编辑器

VI是Unix操作系统和类Unix操作系统中最通用的文本编辑器。

VIM编辑器是从VI发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。VIM与VI编辑器完全兼容。

修改主机名

# vi /etc/sysconfig/network
ETWORKING=yes
HOSTNAME=kris

一般模式

以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、贴上』来处理你的文件数据。

复制代码
yy    复制光标当前一行
y数字y        复制一段(从第几行到第几行)
p    箭头移动到目的行粘贴
u    撤销上一步
dd    删除光标当前行
d数字d    删除光标(含)后多少行
x    删除一个字母,相当于del,向后删

shift+^    移动到行头
shift+$    移动到行尾
gg或者1+G    移动到页头
G    移动到页尾
数字+G(先输入数字,在按G)    移动到目标行
复制代码

编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。

注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样(vi显示insert,vim显示中文插入),此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

i    当前光标前
a    当前光标后(插入内容光标马上移动到后边)
o    当前光标行的下一行

指令模式

在一般模式当中,输入『 : / ?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。

在这个模式当中, 可以提供你『搜寻资料』的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

复制代码
:w    保存
:q    退出
:!    强制执行
/ 要查找的词    n 查找下一个(按n光标移动),N 往上查找
? 要查找的词    n是查找上一个,N是往下查找
:set nu    显示行号
:set nonu    关闭行号
ZZ(shift+zz)    如果没有修改文件直接退出,如果修改了文件保存后退出
复制代码

强制保存退出

:wq!

 

 文件目录类

 mkdir 创建一个新的目录|   touch 创建空文件

复制代码
[root@kris ~]# mkdir hei
[root@kris ~]# mkdir hei/xi
//创建多级目录加 -p
[root@kris ~]# mkdir -p kk/kris/smile

//创建文件
[root@kris ~]# touch 1.txt hei/xi
复制代码

cp 复制文件或目录

cp [选项] source dest                 (功能描述:复制source文件到dest)
-r    递归复制整个文件夹

[root@kris ~]# cp -r hei kk/kris

 rm 移除文件或目录

-r    递归删除目录中所有内容
-f    强制执行删除操作,而不提示用于进行确认。
-v    显示指令的详细执行过程

[root@kris ~]# rm -rf hei

mv 移动文件与目录或重命名

复制代码
基本语法
    (1)mv oldNameFile newNameFile    (功能描述:重命名)
    (2)mv /temp/movefile /targetFolder    (功能描述:移动文件)

[root@kris kris]# mv hei heihei  (重命名)

[root@kris ~]# mv kk/kris ./(移动到当前目录,之前的就不存在了)
复制代码

查看文件内容

cat(一般查看比较小的文件,一屏幕能显示全的

[root@kris kris]# cat -n test.txt ##查看所有日志内容,全部显示出来
[root@kris kris]# cat test.txt | head -n 200  ##查看日志前200行内容
[root@kris kris]# cat test.txt | tail -n 200  ##查看日志末尾200行内容
[root@kris kris]# more test.txt ##分屏显示,按enter键往下查看;

more 文件内容分屏查看器

less 分屏显示文件内容

它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率

 

复制代码
[root@kris ~]# less smartd.conf 
空白键    向下翻动一页;
[pagedown]    向下翻动一页
[pageup]    向上翻动一页;
/字串    向下搜寻『字串』的功能;n:向下查找;N:向上查找;
?字串    向上搜寻『字串』的功能;n:向上查找;N:向下查找;
q      离开 less 这个程序;
复制代码

 压缩和解压类

复制代码
-z    打包同时压缩
-c    产生.tar打包文件
-v    显示详细信息
-f    指定压缩后的文件名
-x    解包.tar文件

[root@kris ~]# tar -zcvf 12.tar.gz 1.txt 2.txt
1.txt
2.txt

[root@kris ~]# tar -zxvf 12.tar.gz -C xi  (解压,-C是可以指定解压的路径,默认是本目录)
1.txt
2.txt
复制代码

 查看进程

如果想查看进程CPU占用率和内存占用率,可以使用 ps  -aux  ;        ps -aux | grep clickhouse-server

如果想查看进程的父进程ID可以使用 ps -ef  ;

复制代码
[root@hadoop myredis]# ps -ef | grep redis    //查看父子进程之间的关系;
root       5713   3334  0 18:16 pts/0    00:00:00 grep redis
[root@hadoop myredis]# redis-cli
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Could not connect to Redis at 127.0.0.1:6379: Connection refused
not connected> 
[root@hadoop myredis]# redis-server redis.conf 
[root@hadoop myredis]# ps -ef | grep redis
UID      PID  PPID C STIME TTY    TIME  CMD   root
5716 1 0 18:17 ? 00:00:00 redis-server *:6379 root 5720 3334 0 18:17 pts/0 00:00:00 grep redis [root@hadoop myredis]# redis-cli 127.0.0.1:6379>
复制代码

UID:用户ID; PID:进程ID; PPID:父进程ID

C:CPU用于计算执行优先级的因子。数值越大,表明进程是CPU密集型运算,执行优先级会降低;数值越小,表明进程是I/O密集型运算,执行优先级会提高

STIME:进程启动的时间; TTY:完整的终端名称; TIME:CPU时间; CMD:启动进程所用的命令和参数

 

[kris@hadoop101 ~]$ ps -ef | grep flume| grep grep   
kris      13942   2926  0 00:13 pts/0    00:00:00 grep flume
-v取反,过滤掉grep的 -v, --invert-match        select non-matching lines
xargs作为kill的参数
xargs kill -9 

 

iostat I/O 和 CPU 监视工具

iostat 用于监控统计系统输入输出设备和 CPU 的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat [参数] [间隔时间] [报告次数]
  间隔时间:每次报告的间隔时间(秒)
  报告次数:显示报告的次数

 

 CPU属性值:

%user    CPU 处在用户模式下的时间百分比
%nice    CPU 处在带 NICE 值的用户模式下的时间百分比
%system    CPU 处在系统模式下的时间百分比
%iowait    CPU 等待输入输出完成时间的百分比
%steal    管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比
%idle    CPU 空闲时间百分比

 

RPM(RedHat Package Manager),RedHat软件包管理工具,类似windows里面的setup.exe

 是Linux这系列操作系统里面的打包安装工具

复制代码
//查询
[root@kris ~]# rpm -qa | grep firefox
firefox-60.4.0-1.el6.centos.x86_64
[root@kris ~]# 
//卸载要先进入安装镜像的目录
[root@kris ~]# cd /mnt/cdrom/Packages
[root@kris Packages]# rpm -e firefox    //-e是卸载
//安装;-i=install安装,-v=verbose显示详细信息, -h=hash进度条
[root@kris Packages]# pwd
/mnt/cdrom/Packages
[root@kris Packages]# rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm 
复制代码

YUM仓库配置

 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

类似java中的maven工具;

修改网络YUM源

修改关联的网络YUM源为国内镜像的网站,比如网易163。

1.前期文件准备

(1)前提条件linux系统必须可以联网

(2)在Linux环境中访问该网络地址:http://mirrors.163.com/.help/centos.html,在使用说明中点击CentOS6->再点击保存,如图所示

 

(3)查看文件保存的位置,如图

    

在打开的终端中输入如下命令,就可以找到文件的保存位置。

[kris@hadoop101 下载]$ pwd
/home/kris/下载

2.替换本地yum文件

       (1)把下载的文件移动到/etc/yum.repos.d/目录

[root@hadoop101 下载]# mv CentOS6-Base-163.repo /etc/yum.repos.d/ 

    (2)进入到/etc/yum.repos.d/目录

[root@hadoop101 yum.repos.d]# pwd
/etc/yum.repos.d

 

    (3)用CentOS6-Base-163.repo替换CentOS-Base.repo

[root@hadoop101 yum.repos.d]# mv CentOS6-Base-163.repo  CentOS-Base.repo

 

3.安装命令

1)[root@hadoop101 yum.repos.d]#yum clean all

(2)[root@hadoop101 yum.repos.d]#yum makecache

 

yum makecache就是把服务器的包信息下载到本地电脑缓存起来

4.测试

[root@hadoop101 yum.repos.d]#yum list | grep firefox
[root@hadoop101 ~]#yum -y install firefox.x86_64

 

把压缩包添加到linux系统的小工具

[kris@hadoop101 hadoop-2.7.2]$ sudo yum install -y lrzsz

sz 是下载到本地; rz -E是从本地上传文件

 

 

top 查看系统健康状态(内存-top

[kris@hadoop100 ~]$ top -d 3  //指定top命令每隔几秒更新。默认是3秒在top命令的交互模式当中可以执行的命令:
[kris@hadoop100 ~]$ top -i  //使top不显示任何闲置或者僵死进程
[kris@hadoop100 ~]$ top -p 25723   //通过指定监控进程ID来仅仅监控某个进程的状态

可以按P(-p是以CPU使用率排序,默认就是此项 )、M(以内存的使用率排序)、N(以PID排序)对查询出的进程结果进行排序。 top -m ;top -n;
q    退出top

netstat 显示网络统计信息和端口占用情况

netstat -anp |grep 进程号    (功能描述:查看该进程网络信息)
netstat -nlp | grep 端口号    (功能描述:查看网络端口号占用情况)
netstat -tunlp | grep 端口号 (t是tcp;u是udp )

 

df 查看磁盘空间使用情况

[kris@hadoop100 ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        47G  3.0G   42G   7% /
tmpfs           2.0G   72K  2.0G   1% /dev/shm
/dev/sda1       190M   39M  142M  22% /boot

 

查看磁盘IO读写情况:iotop(需要安装一下:yum install iotop)

iotop -o(直接查看输出比较高的磁盘读写程序)

cat /proc/version

显示正在运行的内核版本。

find 查找文件或者目录

1)按文件名:根据名称查找/目录下的filename.txt文件。
[root@hadoop101 ~]# find xiyou/ -name “*.txt”
(2)按拥有者:查找/opt目录下,用户名称为-user的文件
[root@hadoop101 ~]# find xiyou/ -user atguigu
(3)按文件大小:在/home目录下查找大于200m的文件(+n 大于  -n小于   n等于)
[root@hadoop101 ~]find /home -size +204800

 

复制代码
[kris@hadoop datas]$ ls | awk '{sum+=1} END{print sum}'
21

[kris@hadoop datas]$ find ./ -name "*.sh" | awk '{sum+=1} END{print sum}'
12
[kris@hadoop datas]$ find ./ -name "*.txt" | awk '{sum+=1} END{print sum}'  
6
复制代码

 

将hadoop101上的文件wc.txt发送到hadoop102上可采用nc;

[kris@hadoop101 ~]$nc -l 9999 > wc.txt
[kris@hadoop102 ~]$nc hadoop104 9999 < wc.txt
posted @ 2020-02-19 11:06  啊啊啊啊鹏  阅读(129)  评论(0编辑  收藏  举报
1 2