Linux实操优化

Posted alexephor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux实操优化相关的知识,希望对你有一定的参考价值。

Linux特点:

  免费,开源,安全,高效,稳定,处理高并发非常强悍。

目录结构

  Linux世界里,一切皆文件。

  Linux文件系统是采用层级式的树状目录结构

技术图片

树状目录结构:

技术图片

技术图片
 1 /bin:
 2 bin是Binary的缩写, 这个目录存放着最经常使用的命令。
 3 
 4 /boot:
 5 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
 6 
 7 /dev :
 8 dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
 9 
10 /etc:
11 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
12 
13 /home:
14 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
15 
16 /lib:
17 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
18 
19 /lost+found:
20 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
21 
22 /media:
23 linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
24 
25 /mnt:
26 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
27 
28 /opt:
29  这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
30 
31 /proc:
32 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
33 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
34 
35 echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
36 /root:
37 该目录为系统管理员,也称作超级权限者的用户主目录。
38 
39 /sbin:
40 s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
41 
42 /selinux:
43  这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
44 
45 /srv:
46  该目录存放一些服务启动之后需要提取的数据。
47 
48 /sys:
49 
50  这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
51 
52 sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。
53 该文件系统是内核设备树的一个直观反映。
54 
55 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
56 
57 /tmp:
58 这个目录是用来存放一些临时文件的。
59 
60 /usr:
61  这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
62 
63 /usr/bin:
64 系统用户使用的应用程序。
65 
66 /usr/sbin:
67 超级用户使用的比较高级的管理程序和系统守护程序。
68 
69 /usr/src:
70 内核源代码默认的放置目录。
71 
72 /var:
73 这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
74 
75 /run:
76 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
目录描述

远程登录

XShell 6能够远程访问Linux系统的前提是,Linux启用了SSHD服务,该服务会监听22号端口

1 ssh root@+ip

vim和vi

 三种模式

  • 一般模式
  • 命令行模式
  • 编辑模式

常用快捷键

 技术图片

补充:

技术图片

技术图片

关机&重启

技术图片

用户管理

用户家目录

/home/目录下有各个创建的用户对应的家目录,当用户登录时,会自动进入自己的家目录。

添加用户

技术图片

删除用户

技术图片

切换用户

技术图片

查询用户

技术图片

用户登陆和注销

 技术图片

用户组

技术图片

用户和组的配置文件

/etc/shadow口令配置文件。
/etc/passwd用户配置文件。

/etc/group组配置文件。

了解更多https://www.runoob.com/linux/linux-user-manage.html

实用指令

帮助指令

技术图片

文件目录类

pwd
1 功能:显示当前工作目录的绝对路径。
ls
1 功能:显示指定工作目录下之内容。
2 语法:ls [选项] 目录或文件
3 常用选项:
4 
5     -a显示当前目录的所有文件和目录,包括隐藏的。
6     -l以列表的方式显示详细信息。
cd
1 功能:切换当前目录。
2 常用参数
3 
4     cd返回家目录
5     cd ~返回家目录
6     cd ..回到当前目录的上一级目录
mkdir
1 功能:创建目录
2 语法:mkdir [选项] 要创建的目录
3 常用选项:
4 
5     -p创建多级目录
rmdir
1 功能:删除空目录
2 语法:rmdir 目录
rm
1 功能:删除文件或目录
2 语法:rm [选项] 文件或目录
3 常用选项:
4     -r递归删除整个文件夹
5     -f强制删除,不提示
touch
1 功能:新建一到多个文件
2 语法:mkdir 文件1 [文件2,文件3...]
cp
 1 功能:拷贝文件到指定目录
 2 语法:cp [选项] source dest
 3 常用选项:
 4 -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
 5 
 6 -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
 7 
 8 -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身;
 9 
10 -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
11 
12 -r:递归持续复制,用於目录的复制行为;(常用)
13 注意:使用\\cp,可以强制覆盖,不提示
mv
1 功能:移动文件与目录,或者重命名
2 语法1:mv source dest
3 语法2:mv 旧名 新名
cat
1 功能:查看文件内容,只读。
2 语法:cat [选项] 文件
3 常用选项:
4 
5 -n显示行号
6 技巧: 通常和管道命令| more一起使用,分页显示
more
1 功能:全屏、按页显示文本文件内容
2 语法:more 文件

more指令内置了若干快捷键

 技术图片

less
1 功能:分屏查看文本文件内容。
2 说明:less的功能比more强大,它在显示文件内容时,不是全部加载后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高效率。
3 语法:less 文件

less指令内置了若干快捷键

 技术图片

>和>>
1 功能:>表示覆盖,>>表示追加。将前者覆盖或追加到后者,若后者不存在,则创建。
2 案例:
3 
4 ls > 文件将ls显示的内容覆盖写入到文件,若该文件不存在,则创建文件
5 cat 文件1 > 文件2将文件1的内容覆盖文件2
6 echo "内容" >> 文件将内容追加到文件
echo
1 功能:输出内容到控制台。
2 语法:echo "内容"
head
1 功能:显示文件前几行内容,默认10行。
2 语法:head 文件
3 常用选项:
4 
5 head -n x 文件显示前x行
tail
1 功能:显示文件后几行内容,默认10行。
2 语法:tail 文件
3 常用选项:
4 
5 -n x显示后x行
6 -f实时监控文件变化
ln
1 功能:软链接也叫符号链接,类似windows快捷键
2 语法:ln -s [原文件或目录] [软链接名]
3 说明:
4 
5 使用pwd查看目录时,看到的仍然是软链接所在的目录
history
1 功能:查看或执行历史命令
2 语法:history
3 案例:
4 
5 history n显示最近执行的n条命令
6 !n执行第n条历史命令

时间日期类

date
1 功能:查看和设置时间日期
2 查看语法:
3 
4 date 查看当前时间
5 date "+%Y年%m月%d日 %H:%M:%S"查看年月日时分秒*(其中的年月日以及冒号可以自由写,并且,也可以只显示一部分时间信息)*
6 设置语法:
7 
8 date -s "年-月-日 时:分:秒"设置时间
cal
1 功能:查看日历
2 语法:cal [选项]
3 案例:
4 
5 cal 年份 显示该年日历

搜索查找类

find
1 功能:从指定目录向下遍历其各个子目录,将满足条件的目录或文件显示在终端
2 语法:find 搜索范围 选项

技术图片

locate
1 功能:快速定位文件路径
2 语法:locate 文件
3 说明:
4 
5 第一次运行前,必须使用updatedb指令创建locate数据库
grep
1 功能:过滤查找
2 语法:grep [选项] 查找内容 源文件
3 常用选项:
4 
5 i忽略大小写
6 n显示匹配行和行号
管道符号|
1 功能:将|前的命令处理结果,输出给后面的命令来处理
2 案例:
3 
4 cat 文件 | grep -ni 内容

压缩解压类

gzip/gunzip
1 功能:gizp压缩(只能压缩为.gz格式),gunzip解压
2 语法:
3 
4 gzip 文件压缩
5 gunzip 文件解压
6 注意:用gzip压缩不会保留源文件
zip/unzip
1 功能:zip压缩,unzip解压
2 语法:
3 
4 zip [选项] 压缩后的文件 压缩前的为文件压缩文件或目录
5 unzip [选项] 要解压的文件解压
1 zip选项:
2 
3 -r递归压缩,即压缩目录
4 unzip选项:
5 
6 -d指定解压后的存放目录
tar
 1 功能:打包指令,打包后的文件为.tar.gz格式
 2 语法:tar [选项] 打包后的文件 打包前的文件
 3 说明:-zcvf压缩,-zxvf解压
 4 选项:
 5 
 6 c产生.tar打包文件
 7 v显示详细信息
 8 f指定压缩后的文件名
 9 z打包同时压缩
10 x解包.tar文件

组管理

技术图片

文件权限

技术图片

 

 技术图片

rwx权限

作用到文件

技术图片

作用到目录

技术图片

权限管理

 

1 功能:修改文件权限
2 语法:chmod 权限设置 文件目录名
3 说明:a所有者,g所在组,o其他组,a全部人
4 方法:
5 
6 通过+-=。如a+w,a-w,a=r-x
7 直接通过数字。如:751表示rwx -wx --x

任务调度

1 任务调度:定期执行脚本或代码。(对于简单的任务,可直接在crontab中加入任务,对于复杂的任务,需要写脚本)

crontab

1 语法:crontab [选项]
2 选项:
3 
4 -e编辑crontab任务
5 -l查询crontab任务
6 -r删除当前用户的所有crontab任务
7 service crond restart重启任务调度

技术图片

特殊的符号

技术图片

Linux网络环境配置

1 vim /etc/sysconfig/network-scripts/ifcfg-eth0,修改后重启机器生效,可使用service network restart重启网络服务。

ifcfg-eth0文件说明:

技术图片

指定固定IP的方法:

 技术图片

进程管理

ps
1 功能:显示当前系统正在执行的进程
2 语法:ps [选项]
3 选项:
4 
5 -a当前终端的所有进程信息
6 -u以用户格式显示进程信息
7 -x显示后台进程运行的参数
8 -ef显示父进程
9 说明:可以使用ps -aux | grep 指定服务来查看是否有指定服务

-aux信息选项说明

技术图片

-ef信息选项说明

技术图片

终止进程

 kill/killall/pkill
1 功能:终止进程
2 语法:
3 
4 kill [选项] 进程号
5 killall 进程名称(支持通配符)
6 选项:
7 -9强制终止
 pstree
1 功能:查看进程树
2 语法:pstree [选项]
3 选项:
4 
5 -p显示进程的PID
6 -u显示进程的所属用户

服务管理

 service
 1 功能:管理服务
 2 语法:service 服务名 [start|stop|restart|reload|status]
 3 说明:
 4 
 5 Centos7.0以后使用的是systemctl指令;
 6 可以使用telnet ip 端口检测某端口是否在监听
 7 该指令是立马生效,也是临时生效的*(重启后恢复以前设置)*
 8 --------------------- 
 9 版权声明:本文为CSDN博主「boomchenchen」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
10 原文链接:https://blog.csdn.net/weixin_41710054/article/details/89081599
查看所有服务
1 方法一:
2 使用setup指令查看
3 方法二:
4 打开/etc/init.d/
运行级别

系统运行级别的配置文件/etc/inittab,切换运行级别的命令为init [123456]

技术图片

监控服务

 动态监控服务top
 1 功能:动态监控进程
 2 语法:top[选项]
 3 选项:
 4 
 5 -d 秒数每隔几秒更新,默认三秒
 6 -i不显示闲置或僵死进程
 7 -p通过指定进程id来监控某个进程
 8 案例:
 9 
10 监视特定用户:输入top,然后按u,输入用户名
11 终止指定进程:输入top,然后按k,输入进程id

技术图片

 查看网络情况netstat

netstat -tunlp 查看所有端口

1 功能:查看系统网络情况
2 语法:netstat [选项]
3 说明:一般写``netstat -anp`
4 选项:
5 
6 an按一定顺序排列输出
7 p显示哪个进程正在调用

RPM包管理

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

技术图片

YUM

1 YUM,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,一次性安装所有依赖的软件包。

技术图片

补充:

防火墙:最好不要关闭,处理大并发的时候对计算机要求高

1 centos7默认已经使用firewall作为防火墙了
2 1.关闭防火墙
3 systemctl status firewalld #查看防火墙状态
4 systemctl stop firewalld    #关闭防火墙
5 systemctl disable firewalld#关闭防火墙开机启动
6 systemctl is-enabled firewalld.service#检查防火墙是否启动 

防止中文乱码问题:

把握三点:

1.系统字符集utf8 2.xshell字符集utf8 3.文件字符集一致zh_CN.UTF-8

 1 #查看系统当前字符集
 2 echo $LANG
 3 locale
 4 
 5 #检查xshell crt的字符集
 6 #命令修改字符集
 7 
 8 
 9 
10 # vim /etc/profile.d/locale.sh
11 export LC_CTYPE=zh_CN.UTF-8
12 export LC_ALL=zh_CN.UTF-8
13 
14 # vim /etc/locale.conf
15 LANG=zh_CN.UTF-8
16 
17 # vim /etc/sysconfig/i18n
18 LANG=zh_CN.UTF-8
19 
20 # vim /etc/environment
21 LANG=zh_CN.UTF-8
22 LC_ALL=zh_CN.UTF-8
23 
24 英文版本
25 # vim /etc/profile.d/locale.sh
26 export LC_CTYPE=en_US.UTF-8
27 export LC_ALL=en_US.UTF-8
28 
29 # vim /etc/locale.conf
30 LANG=en_US.UTF-8
31 
32 # vim /etc/sysconfig/i18n
33 LANG=en_US.UTF-8
34 
35 # vim /etc/environment
36 LANG=en_US.UTF-8
37 LC_ALL=en_US.UTF-8
38 
39 
40  
41 2.更改后查看系统语言变量
42 locale

tree命令

 1 tree命令以树状图列出目录的内容。
 2 
 3 -a:显示所有文件和目录;
 4 -A:使用ASNI绘图字符显示树状图而非以ASCII字符组合;
 5 -C:在文件和目录清单加上色彩,便于区分各种类型;
 6 -d:先是目录名称而非内容;
 7 -D:列出文件或目录的更改时间;
 8 -f:在每个文件或目录之前,显示完整的相对路径名称;
 9 -F:在执行文件,目录,Socket,符号连接,管道名称名称,各自加上"*""/""@""|"号;
10 -g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码;
11 -i:不以阶梯状列出文件和目录名称;
12 -l:<范本样式> 不显示符号范本样式的文件或目录名称;
13 -l:如遇到性质为符号连接的目录,直接列出该连接所指向的原始目录;
14 -n:不在文件和目录清单加上色彩;
15 -N:直接列出文件和目录名称,包括控制字符;
16 -p:列出权限标示;
17 -P:<范本样式> 只显示符合范本样式的文件和目录名称;
18 -q:用“?”号取代控制字符,列出文件和目录名称;
19 -s:列出文件和目录大小;
20 -t:用文件和目录的更改时间排序;
21 -u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码;
22 -x:将范围局限在现行的文件系统中,若指定目录下的某些子目录,其存放于另一个文件系统上,则将该目录予以排除在寻找范围外。

设置主机名

1 [root@yugo /tmp 11:04:42]#hostnamectl set-hostname pyyuc
2 [root@pyyuc ~ 11:05:12]#hostname 

查看dns

1 配置文件
2 cat /etc/resolv.conf
3 #dns服务器地址
4 nameserver 119.29.29.29
5 nameserver 223.5.5.5

 大多数ssh连接不上虚拟机,都是因为防火墙和selinux阻挡了

 1 1.修改配置文件,永久生效关闭selinux
 2 cp /etc/selinux/config /etc/selinux/config.bak #修改前备份
 3 2.修改方式可以vim编辑,找到
 4 # This file controls the state of SELinux on the system.
 5 # SELINUX= can take one of these three values:
 6 #     enforcing - SELinux security policy is enforced.
 7 #     permissive - SELinux prints warnings instead of enforcing.
 8 #     disabled - No SELinux policy is loaded.
 9 SELINUX=disabled
10 3.用sed替换
11 sed -i s/SELINUX=enforcing/SELINUX=disabled/ /etc/selinux/config
12 4.检查状态
13 grep "SELINUX=disabled" /etc/selinux/config
14 #出现结果即表示修改成功

临时关闭selinux(命令行修改,重启失效):

1 getenforce #获取selinux状态
2 #修改selinux状态
3 setenforce 
4 usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
5 数字0 表示permissive,给出警告,不会阻止,等同disabled
6 数字1表示enforcing,表示开启

 

/etc下配置文件和子目录

 1 #网卡配置文件
 2 /etc/sysconfig/network-script/ifcfg-eth0
 3 #修改机器名以及网卡,网管等配置
 4 /etc/sysconfig/network
 5 #linux的dns客户端配置文件,实现域名和ip的互相解析
 6 /etc/resolv.conf
 7 #本地dns解析文件,设定ip和域名的对应解析,开发测试最常用的临时域名解析
 8 /etc/hosts/
 9 #系统全局环境变量永久生效的配置文件,如PATH等
10 /etc/profile
11 #用户的环境变量
12 ~/.bash_profile 
13 ~/.bashrc
14 #存放可执行程序的目录,大多是系统管理命令
15 /usr/sbin
16 #存放用户自编译安装软件的目录  > 等同于C:\\Program files (windows)
17 /usr/local
18 #关于处理器的信息,还可以top指令查看
19 /proc/cpuinfo
20 #查看内存信息,还可以free -m
21 /proc/meminfo 

配置yum源

 1 1.好习惯,备份yum源
 2 mkdir repo_bak
 3 mv *.repo repo_bak/
 4 2.下载阿里云repo文件
 5 wget http://mirrors.aliyun.com/repo/Centos-7.repo
 6 3.清空yum缓存并且生成新的yum缓存
 7 yum clean all
 8 yum makecache
 9 4.安装软件扩展源
10 yum install -y epel-release

技术图片

 

操作

 1 yum repolist all        列出所有仓库
 2 yum list all            列出仓库所有软件包
 3 yum info 软件包名            查看软件包信息
 4 yum install 软件包名        安装软件包
 5 yum reinstall 软件包名    重新安装软件包
 6 yum update    软件包名        升级软件包
 7 yum remove    软件包名        移除软件包
 8 yum clean all            清楚所有仓库缓存
 9 yum check-update        检查可以更新的软件包
10 yum grouplist            查看系统中已安装的软件包
11 yum groupinstall 软件包组    安装软件包组

 

系统服务管理命令

技术图片

设置开机启动相关

技术图片

 

以上是关于Linux实操优化的主要内容,如果未能解决你的问题,请参考以下文章

Linux实操篇

九Linux 实操篇-网络配置

九Linux 实操篇-网络配置

linux实操_shell位置参数变量

linux实操_预定义变量

Linux实操篇-用户管理