首页 > 系统相关 >Linux 基础

Linux 基础

时间:2023-04-05 16:15:17浏览次数:40  
标签:文件 查看 删除 基础 etc Linux root 目录

Linux 基础

1.安装虚拟机

网络类型

#1.桥接模式
	上网不需要经过其他路由,上网速度快,ip数量少,容易跟同一网段的主机ip冲突。
	
#2.仅主机模式
	只能与宿主机进行交互,并不能上网。
	
#3.NAT模式
	ip多,独立的网段。上网需要经过VMnet8网卡。

下载虚拟机官网地址

https://centos.org/

CentOS-7-x86_64-DVD-1810.iso       我们下载的镜像            23:55          4588568576
CentOS-7-x86_64-DVD-1810.torrent    下载速度快               03-Dec-2018 15:03               88027
CentOS-7-x86_64-Everything-1810.iso   所有的             26-Nov-2018 14:28         10743709696
CentOS-7-x86_64-Everything-1810.torrent            03-Dec-2018 15:03              102990
CentOS-7-x86_64-LiveGNOME-1810.iso    演示版本             24-Nov-2018 17:41          1474297856
CentOS-7-x86_64-LiveGNOME-1810.torrent演示版本             03-Dec-2018 15:03               28645
CentOS-7-x86_64-LiveKDE-1810.iso      演示版本             24-Nov-2018 17:53          1949302784
CentOS-7-x86_64-LiveKDE-1810.torrent  演示版本             03-Dec-2018 15:03               37699
CentOS-7-x86_64-Minimal-1810.iso       最小化操作系统            25-Nov-2018 21:25           962592768
CentOS-7-x86_64-Minimal-1810.torrent               03-Dec-2018 15:03               37237
CentOS-7-x86_64-NetInstall-1810.iso    网络安装            25-Nov-2018 16:21           531628032
CentOS-7-x86_64-NetInstall-1810.torrent            03-Dec-2018 15:03               20806
1)更改网卡的名称
1.安装系统选择界面进行更改
net.ifnames=0 biosdevnmae=0
2.可安装完操作系统进行更改

磁盘分区

#标准分区

#1.swap分区	虚拟内存分区,正常是物理内存1-2倍。最大值不能超过16G

#2./boot分区	引导分区,正常500-1024M

#3./分区		系统主要分区,40-200G

#4./data	 数据分区,剩余多少给多少。

#5.不分区		把空间留着,等哪个分区空间不足,就分配给谁。

装系统时,必须要装哪两个分区?

centos-6    /    swap  
centos-7	/

32位和64位的区别

#1.安装要求不同

#2.运算能力不能

#3.寻址能力不同

#4.设计定位不同

2. 虚拟机的管理

虚拟机的配置

VMnet8网卡

ip网段10.0.0.0	子网掩码255.255.255.0   网关10.0.0.254

Xshell链接排错

#1.在本地进行测试是否能通	[c:\~]$ ping 10.0.0.200
#2.查看虚拟机的虚拟网络编辑器 IP地址网段和网关配置是否正常 虚拟机内的IP地址同一网段
#3.查看windows vmnet8网卡是否获取到了同IP地址(虚拟网络编辑器开启DHCP) 手动配置
		手动配置
			使用下面的IP地址
			IP地址   10.0.0.1
			子网掩码 255.255.255.0
			最后确定即可
#4.测试对外提供远程连接的服务是否开通	

端口是否开启:[c:\~]$ telnet  10.0.0.200  22


Connecting to 10.0.0.200:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4

虚拟机本地执行命令:ss  -lntp |grep  sshd

#5.防火墙和selinux的问题
永久关闭selinux
			修改配置文件/etc/selinux/config
			重启生效
		    临时关闭selinux
			如何查看当前是否关闭了selinux
			getenforce
		    [root@oldboy ~]#setenforce 
			usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]
			[root@oldboy ~]#setenforce 0
			[root@oldboy ~]#getenforce 
			Permissive
			Enforcing  =====1
			Permissive =====0
        centos7.x								centos6.x
		firewalld							  iptables 重点
		1)查看防火墙状态					     c6.x查看防火墙状态
		 systemctl status firewalld			  /etc/init.d/iptables status
		2)临时关闭防火墙				         临时关闭防火墙
		systemctl stop firewalld			  /etc/init.d/iptables stop
		3)永久关闭防火墙					     永久关闭防火墙
		systemctl disable firewalld			  chkconfig iptables off  on开启 off关闭
#6.wifi共享问题
#7.VMware的服务没有开启
NetworkManager
	  如何关闭此服务
	  systemctl stop NetworkManager
	  systemctl restart network  重启网络
	  禁止NetworkManager开机启动
	  systemctl disable NetworkManager

上不去网排查

    1.ping www.baidu.com
	如果ping不通百度
	查看IP地址配置是否正常
	查看vmware的虚拟网络编辑器的配置是否正常
	2.ping DNS
	阿里云 223.5.5.5
	谷歌  8.8.8.8
	百度  114.114.114.114
	联通 202.106.0.20
	DNS?
		域名解析
		www.baidu.com www.sina.com www.weibo.com
		61.135.169.125====www.baidu.com====DNS域名解析===223.5.5.5
	  DNS配置文件
		1. /etc/sysconfig/network-scripts/ifcfg-eth0
		 DNS1=223.5.5.5
		   /etc/resolv.conf 
		 nameserver 223.5.5.5
	    网卡中配置的DNS 优先于resolv.conf中的DNS,重启网卡会覆盖掉resolv.conf
		如果网卡配置文件中 不配置DNS 则重启 不会覆盖 resolv.conf
	保证windows中的VMware服务运行状态  我的电脑---右键管理---服务---vmware

快照

#1.开机状态

#2.关机状态

#3.挂起状态

克隆

#1.链接克隆

#2.完整克隆

Xshell管理

#1.给Xshell设置开启的密码。

#2.禁止检查更新

#3.日志存放位置

#4.缓冲区的大小,字体大小,闪烁的光标

#5.会话名称,登录的主机,协议,端口,用户,密码。密钥。

3. 命令行基础

命令行的结构

[root@nginx01 ~]#

root	当前登录的用户
@		分隔符
nginx01	主机名
~		当前所在位置,本身表示当前用户的家目录。
#		超级管理员的命令行提示符
$		普通用户命令行提示符

Bash的特性

#1.tab补全

#2.命令别名
	alias  rm=‘echo  rm  command  bny’
	unalias	rm
	
#3.历史记录
	history
	-c	清空缓存
	-w	写入到文件
	-d	删除指定id对应的命令
	
#4.快捷键

Ctrl键+a  光标快速移动到行首		
Ctrl键+e  光标快速移动到行尾
Ctrl键+l  清屏  
Ctrl键+w  删除命令组
Ctrl键+u  剪切光标所在位置到行首
Ctrl键+k  剪切光标所在位置到行尾
Ctrl键+y  粘贴剪切的内容
Ctrl键+c  强制结束当前的命令
Ctrl键+z  中止进程后台运行
Ctrl键+d  退出终端
Ctrl键+r  滚轮终止
Ctrl键+方向键 移动一个单词
Ctrl键+q  解锁
Ctrl键+s  锁屏
esc+.	复制上一个命令末尾单词
delete	删除
!       强制
!!      执行上一条命令

关机与重启及注销

#关机
	init  0
	shutdown  -h  0/now
	poweroff
	halt	-p
	
#重启
	reboot
	init 6
	shutdown  -r  0/now

#注销
	 Ctrl键+d  
	 exit
	 logout
	

查看命令帮助

#1.man

#2.help

#3.--help(选项)

#4.info

#5.百度

显示ip地址命令

#1.ip  a
	ip  a  s  eth0
	ip  address  show  eth0
	
#2.ifconfig
	ifconfig  eth0
	
#3.hostname  -i
	hostname -I
	

4. linux历史

GNU

是FSF(自由软件基金会)下的项目
GNU is not Unix
bash	gawk  gcc  EMACS

GPL

通用公共许可协议
1.开源的
2.可以任意修改,必须把修改之后的源代码发布出来

linux应用领域

#1.嵌入式开发

#2.服务器端

#3.个人PC桌面

linux的发行版本

Redhat

CentOS

Ubuntu

FreeBSD

SUSE

Debian

Fedora

5. 系统文件管理

基础命令

echo 所见即所得
	-e

ls	查看目录的列表
	-l  ll	显示详细信息
	-d		只查看目录本身
	-a		查看所有文件(包括隐藏)
	-h		以人类可读的形式
	-1		列表
	-i		显示inode号
	-t		根据时间进行显示
	-r		倒叙
	-F		显示加上标识符
	
cd	切换目录
	.  当前目录
	.. 当前目录的上一级目录
	-  返回上一次所在的位置
	~  返回到家目录 cd
	cd  /  到根目录
	
pwd 显示所在位置

mkdir	创建目录
	-p	创建多级目录,递归
	-v	显示创建过程
	-m	创建的时候设置权限
	{}

touch	创建文件
		{}
		
tree	以树状型显示目录结构
	-d	只显示目录
	-f	只显示文件
	-F	给目录加上一个标识符
	-L	查看的目录结构的深度
	-a	显示所有文件

cp	复制
	-i  系统别名自带
	-r	递归复制
	-p	保持属性
	-a	-rpd
	-t	把源文件和目标文件位置进行对换

mv	引动或者重命名文件
	-i	系统自带的别名
	-t	把源文件和目标文件位置进行对换
	-f	强制覆盖
	
rm	删除*****
	-i	系统自带的别名
	-r	删除目录
	-f	强制删除

文件查看命令

cat  查看文件内容
	-n	显示行号
	-A	给显示出来的内容的结尾加上一个标识符
	
more	分页查看文件内容,在文件结束的时候,会自动退出
	+n	从第几行开始显示文件内容
	-n	一页只显示多少行内容
	空格和f	向下翻页
	b		  向上翻页
	回车键		向下显示一行
	/		  搜索
	q		  退出
	=		  显示当前光标所在行

less	 分页查看文件内容,在文件结束的时候,不会自动退出
	-N	 显示行号
	空格和f	向下翻页
	b		  向上翻页
	回车键		向下显示一行
	/		  搜索,可以高亮显示
	q		  退出
	
head	显示文件头部信息,默认显示十行
	-n	取消默认输出,显示指定行数
	-c	显示文件的头部字符
	
tail	显示文件尾部信息,默认显示十行
	-n	取消默认输出,显示指定行数
	-c	显示文件的尾部字符,会有一个换行符
	-f	实时查看文件的更新
	-F	实时查看文件的更新

tailf	实时查看文件的更新

文件的上传与下载

rz  上传

sz	下载

wget   联网下载
	-O	指定下载路径
	
curl	联网下载,访问测试网站
	-o	指定下载的路径
	-s	静默输出
	

命令查找

which	查看命令的绝对路径

whereis	查看命令的绝对路径

type   查看命令的绝对路径
	-a  查看内部的命令的绝对路径
	

字符处理命令

sort	排序
	-t	指定分隔符
	-k	指定列排序
	-n	以数字的大小进行排序
	-r	倒叙排序
	
uniq	必须是相邻的,去重,统计
	-c	统计
	-d	只显示重复的行
	-u	只显示不重复的行
	
cut	   截取字段
	-d	指定分隔符
	-f	取指定的列
	-c	取指定的字符
	
wc		统计
	-l	统计行数
	-c	统计字节大小
	-w	统计列数,默认以空白字符分隔
	
tr		替换,单对单的进行替换
	-d	删除字符
	tr  ‘源’  ‘目标’  <  
	

显示系统信息的命令

hostname	显示主机名
/etc/hostname  主机名称配置文件 Centos7.x      /etc/sysconfig/network  Centos6.x
  如何更改主机名称
  第一个方法  永久修改
  直接修改配置文件 需要重启电脑
  vim /etc/hostname
  第二个方法  临时修改 重启失效
  hostname oldboyedu
  第三种方法 临时+永久
  hostnamectl set-hostname oldboy

whoami		当前用户

w			显示系统负载,登录的用户
	-h		只显示登录的用户信息

uptime		显示系统负载,登录的用户

who			登录的用户信息

uname	 显示系统的信息
	-a	 显示所有信息
	-r	 显示内核信息
	-n	 显示主机名
cat /etc/redhat-release 查看系统操作版本信息

三剑客

grep	过滤,给过滤的内容高亮显示
	-n	显示行号
	-o	只显示匹配的内容
	-i	忽略大小写
	-E	支持扩展正则
	-c	统计
	-v	排除
	-w	只匹配过滤出来的字符串
	-A	向下
	-B  向上
	-C	上下
	-r	递归过滤
	-R	递归过滤

sed		替换,增删改查
	-i	替换
	-n	取消默认输出
	-r	支持扩展正则使用
	-i.bak	先备份,再替换
	=	显示行号
命令参数
	p	打印
	d	删除
	s	替换
	g	全局
	c	在原位置替换
	a	追加
	i	插入
	$	结尾
	;	多条命令的分隔
#用法一:查找出行
1.查找出第三行
sed -n '3p' abc.txt
2.查找出连续的三行
sed -n '3,5p' abc.txt
3.查找出不连续的三行
sed -n '3p;5p' abc.txt
sed -nr '/3|5/p' abc.txt
3.模糊匹配查找出的行
sed -n '/oldboy/p' abc.txt
4.查找多个条件的多行
sed -n '/aaa/p;/oldboy/p' abc.txt
5.查找出空行
sed -n '/^$/p' abc.txt
6.查找出以什么开头,以什么结尾的行
sed -n '/^xxx/p' abc.txt
sed -n '/xxx$/p' abc.txt
7.删除某一行
sed -n '3d' abc.txt
#用法二:添加某一行
1.在第一行前插入aaa
sed -i '1i aaa' abc.txt
2.在第二行后插入bbb
sed -i '1a bbb' abc.txt
3.在文件中的第三行后连续插入多行(一行是aaa,一行是bbb)
sed -i '3a aaa\nbbb' abc.txt
#用法三:替换
1.整体替换,将第三行整体替换成oldboy
sed -i '3c oldboy' abc.txt
2.替换一行的部分信息
sed -i '3s#aaa#oldboy#g' abc.txt
注意:如果g后面加入了p,会在后面追加一行
强调说明:利用sed命令替换文件信息时,不能让-i参数和-n参数同时使用,否则会清空文件信息
        i和其他参数使用一般吧-i参数放在所有的参数的后面使用
3.取反操作(了解)
sed -n '/oldboy/!p' abc.txt    #打印出不包含oldboy行的所有行
#用法四:后项引用前项
sed -n 's#(.*)#\1#g' abc.txt

awk		擅长取列,计算,统计
	-F  指定分隔符 FS
	-v	输出分隔符 OFS
	!	取反
	$NF	 最后一列
	NF 	 每行的列数
	NR	 行数
	==
	><   && 
	;    多条命令的分隔
	print	打印
	BEGIN	行处理前
	{}		整体
	

6. 软硬链接

软链接

一个快捷方式

可以跨区创建软链接

ln  -s	 源     目标 

企业应用:版本的升级和回退


硬链接

给文件加个入口。

不能对目录创建硬链接

ln	源  目标

软硬链接的区别

从概念上说
软链接是快捷方式,硬链接相当于多了一个入口,(inode号相同)
从创建上说
ln命令创建硬链接,加上-s选项创建软链接。
从删除方面上说
删除软链接,对硬链接和源文件没有任何影响
删除硬链接,对源文件和软链接没有影响
删除源文件,对硬链接没有影响,软链接会失效,出现红底白字闪烁状。
只有删除所有的硬链接和源文件,文件才会被真正的删除。

7. 文本处理工具Vim

vim三种模式

普通模式(命令模式)

编辑模式

底行模式(末行模式)

vim  +n  filename   快速的进入某一行

普通模式(命令模式)

G	末行
gg	首行
ngg	指定行数
nG	指定行数
^	行首
$	行尾
r	单个替换
R	进行多个替换
dd	删除当前行
ndd	删除当前行及下多少行,包含当前行
dG	删除当前所在行及下所有行
u	撤销
yy	复制
nyy	复制多行
p	向下粘贴
np	粘贴多次
P	向上粘贴
nP	粘贴多次
x	向后删除一个字符
X	向前删除一个字符
ctrl+r	回滚
ZZ	保存退出
de	删除一组字符串
dw	删除一组字符串
D	删除当前光标所在位置及后面的内容

编辑模式

a	在当前光标所在位置向后进行插入内容
i	在当前光标所在位置向前进行插入内容
A	在当前光标所在位置行尾进行插入内容
I	在当前光标所在位置行首进行插入内容
o	进入下一行,进入编辑模式
O	进入上一行,进入编辑模式
s	删除当前光标所在的字符,并进入编辑模式
S	删除当期行,并进入编辑模式
C	删除当前光标所在位置及后面的内容,并进入编辑模式
cw	删除一组字符串

底行模式(末行模式)

:wq		保存退出
:q!		强制退出
:x		保存退出
/		搜索n/N
:nd		删除某一行
:n,md	删除多行
:n		跳转某一行
:set  nu  显示行号
:set  nonu	取消显示行号
:set list	给每行的结尾加个标识符
:set  nolist
:set  ic	搜索忽略大小写
:set  noic
:%s###g   全局替换
:1,5s###g	按行替换

批量管理

可视块
添加
ctrl + v  进入可视块
	选中要添加的行
	shift +i 进行编辑
	输入内容
	esc退出
删除
ctrl + v  进入可视块
	选中要删除的内容
	d或x  进行删除
	
可视行
shift +v 
	光标移动,选中要原则的区域
	d  删除
	y  复制
	p  粘贴
	

vim故障

非正常退出,再次进入编辑时,会提示有一个临时文件

vim	-r	 进入非正常退出之前的状态。

都要删除那个临时文件。

rm  -f   .filename.swp

8. 特殊符号和引号相关

特殊符号

*	所有
!	取反。非
#	注释
{}	生成序列
$	变量$()
$?	查看上一条命令执行的结果,返回值,0表示成功,非0就是失败
&&  前面的命令执行成功,才会后面的命令
||	前面的命令执行失败,才会后面的命令
&	放入后台
;	多条的命令的分隔符
|	把前面的命令的执行结果交给后面的命令
[]	包含中括号中的所有内容

引号相关

不加引号   所见即所得,会解析变量,支持通配符,如果出现空格,就不会是一个整体。
单引号		所见即所得,强引用,会把里面内容看做是一个整体
双引号		所见即所得,会解析变量,会把里面内容看做是一个整体
反引号		会先执行反引号里面的命令

9. 文件目录结构

/						#linux中一切以根为顶点
bin -> usr/bin			#普通用户使用的命令
sbin -> usr/sbin		#管理员使用的命令
boot					#引导
dev						#设备目录
	/dev/cdrom			#光驱
	/dev/sr0			#光驱
	/dev/zero			#产生数据的文件
	/dev/null			#黑洞设备
	/dev/stderr			#错误输出	2
	/dev/stdin 			#标准输入   0
	/dev/stdout			#标准输出	1
	/dev/random			#产生随机数字的文件
	/dev/sd*			#磁盘
	/dev/pts			#虚拟终端

etc						#配置文件目录
	/etc/hostname		#主机名
	/etc/hosts			#域名解析
	/etc/sysconfig/network-scripts/ifcfg-eth0  #网卡配置文件
	/etc/resolv.conf	#dns配置文件
	/etc/fstab			#挂载设备列表
	/etc/selinux/config	#selinux配置文件
	/etc/sysconfig/grub	#grub菜单
    /etc/profile        #环境变量配置文件
    /etc/bashrc         #别名
    /etc/issue          #登录前提示
    /etc/issue.net      #登录前提示
    /etc/inittab        #系统运行的级别文件
    /etc/redhat-release #查看系统版本
home					#普通用户的家目录
lib -> usr/lib			#库文件  32位
lib64 -> usr/lib64		#库文件  64位
media					#设备目录
mnt						#临时挂载点
opt						#早期第三方的软件安装目录
proc					#系统进程实时的负载情况
root					#超级管理员家目录
run						#存放进程的pid文件
tmp						#临时存放目录
usr						#安装目录
	/usr/local			#默认编译安装的软件在此目录
	/usr/share			#安装目录
var						#存放是可变的内容
	/var/log			#日志
	/var/log/messages	#系统日志
	/var/log/secure		#系统用户的登录日志
	/var/log/cron		#定时任务的日志
	/var/run			#进程的pid文件
proc
   /proc/cpuinfo        #cpu的信息
   lscpu                #查看cpu信息
   /proc/meminfo        #查看内存信息
   free -h              #查看内存信息
   /proc/loadavg        #查看负载均衡
    w 		            #查看负载信息
   uptime	            #查看负载信息
   top                  #查看系统进程信息
   /proc/mounts         #挂载信息
   df -h                #查看磁盘信息
   du -h                #查看文件大小

绝对路径和相对路径

以根为开头就是绝对路径
不是以根为开头就是相对路径

~/test		#绝对路径    /root  ~

10. 用户管理

用户

约定
centos-7
0	#超级管理员用户
1~200	#系统进程用户
201~999	#系统服务用户
1000+	#普通用户

centos-6
0	#超级管理员用户
1~499	#系统用户
500+	#普通用户

useradd   创建用户
	-u		指定uid
	-g		指定gid(用户组)
	-G		指定附加组
    -M		不创建家目录
    -r		不创建家目录
    -s		指定登录shell
    -c		指定注释信息
    -d		指定家目录

usermod		修改用户的信息
	-u		修改用户uid
	-g		修改gid(用户组)
	-aG		设置附加组
	-dm		移动家目录
	-s		修改登录shell
	-c		修改注释信息
	-l		修改用户名
    
userdel		删除用户,默认不删除家目录
	-r		删除用户时删除家目录和邮件

passwd		设置用户的密码信息
	交互式   passwd  username
	非交互式 echo  ‘密码’  |passwd  --stdin  username
	
id		查看用户的信息

groupadd  创建用户组
	-g		指定gid
	
groupmod  修改组的信息
	-g		修改组id
	-n		修改组名
	
groupdel	删除用户组
			组里面不能存在用户。
			
su		切换用户
	-	
	-c	以其他用户的身份执行命令
	
su  和 su  -  的区别?
	
sudo	提权
	-l	查看权限

visudo	配置权限,vi  /etc/sudoers
	-c	检查语法

root    ALL=(ALL)       ALL
用户名	  主机名(角色)    权限

个人的配置文件
~/.bashrc           局部生效        针对当前使用用户 
~/.bash_profile     局部生效        针对当前使用用户 

全局
/etc/profile        全局生效        针对所有用户
/etc/profile.d/*.sh 全局生效        针对所有用户
/etc/bashrc         全局生效        针对所有用户

用户相关的配置文件

/etc/passwd		用户信息
/etc/shadow		用户密码信息
/etc/group		组的信息
/etc/gshadow	组的密码信息

/etc/default/useradd	
/etc/login.defs
/etc/skel/		#环境变量的模板家目录

11. 权限

基础权限

权限位 含义 对应数字
r(read) 读权限 4
w(wite) 写权限 2
x(execute) 执行权限 1
- 没有权限 0
#文件的权限
w和x的权限,必须要有r权限
rwx
rw
rx
r

#目录的权限
r和w的权限,必须要有x的权限
rwx
rx
wx
x

权限的命令

chmod	修改文件或目录的权限
	-R	递归设置权限
	u	属主
        g	数组
        o	其他用户
        a	所有
    

特殊权限

a	只能追加
i	什么都不能操作,只能读

chattr	设置特殊权限
lsattr	查看特殊权限

特殊属性

setuid	使用该命令相当于是这个命令的所有者
	u+s
setgid	在创建新的文件或目录时,属组默认属于设置的属组
	g+s
stick	粘滞位t,所有用户只能管理自己文件。
	o+t
	
chmod	设置目录和文件权限

chown	设置属主和属组
	-R	递归设置
	

文件属性

drwxr-xr-x  2 root root    6 Jul 29 10:10 test

文件类型:
		-	普通文件
		d	目录
		l	软链接
		c	字符设备
		b	块设备
		s	套接字	
		p	管道文件
2-4		属主权限
5-7		属组权限
8-10	其他用户权限

硬链接数

属主

属组

大小

6-8	最近的修改时间

文件名

12. 输出输入

>		标准输出重定向,会覆盖源文件
>>		标准追加重定向,不会覆盖源文件,只会追加的文件的结尾
<		标准输入重定向,默认的从键盘读取字符改为从文件中读取
<<		两个相同标识符作为首和尾 cat>filename<<EOF
&>		混合输出,重定向到文件中
&>>		混合输出,追加到文件中
2>		错误输出重定向,会覆盖源文件
2>>		错误输出追加重定向,不会覆盖源文件

tee		重定向的功能,输出到屏幕上面
	-a	追加。

13. 文件查找

find

选项:

	-type	类型   f	文件  d  目录 
	-name	指定查找名字
	-iname	忽略大小写
	-mtime	按照修改时间查找
		+N
		-N
		N
	-size	根据大小查找
		b
		+k
		-k
		M
		G
	-user	根据用户查找
	-group	根据属组查找
	-perm	根据权限查找
		-644 包含这个权限	
		644  精确查找
	-maxdepth	跟目录阶级查找
	-nouser	 没有属主
	-nogroup	没有属组
	
	-print	默认显示
	-ls		显示列表
	-delete	删除,只能删除空目录
	-exec
	-ok		
find  和  其他命令

find   | xargs

把/data目录中所有的以*.txt的文件复制到/tmp目录下

find  /data  -type  f  -name "*.txt"  |xargs  cp  -t  /tmp

find  /data  -type  f  -name "*.txt" |xargs  -i  {}  cp  {}  /tmp

find  /data  -type  f  -name "*.txt"  -exec  cp  {}  /tmp  \;

cp  $(find  /data  -type  f  -name "*.txt")  /tmp

cp  `find  /data  -type  f  -name "*.txt"`  /tmp
	

14. 打包压缩

zip
gzip
bzip2

zip   filename.zip  filename
	-r	打包压缩目录
	-q	静默输出
	-T	查看压缩的完整情况
unzip   解压
	-d	指定的解压的目录
	-l	查看压缩包的列表
	-t	查看包里面内容是否ok

gzip  压缩文件,压缩之后会删除源文件
	-d		解压
	-r  	压缩目录中的所有文件
	
zcat	查看zip格式的压缩包

tar   gzip格式
	czf		打包压缩
	tf		查看压缩包
	xf		解压压缩包
	-C		指定解压目录
	-P		使用绝对路径打包,没有删跟的操作
	-X		指定排除文件的列表文件
	--exclude	排除文件
	--exclude-from=
	
date	显示时间命令

	+%F	显示年月日
[root@nginx01 ~]# date  +%F
2019-07-29
[root@nginx01 ~]# date  +%T
16:55:40
[root@nginx01 ~]# date  +%y-%m-%d
19-07-29
[root@nginx01 ~]# date  +%Y-%m-%d
2019-07-29
[root@nginx01 ~]# date +%H-%M-%S
16-56-54
[root@nginx01 ~]# date +%H:%M:%S
16:57:00
[root@nginx01 ~]# date -d '-1day' +%F
2019-07-28
[root@nginx01 ~]# date -s "20181001"
Mon Oct  1 00:00:00 CST 2018
[root@nginx01 ~]# date  +%F
2018-10-01
[root@nginx01 ~]# date -s "12:00:00"
Mon Oct  1 12:00:00 CST 2018
[root@nginx01 ~]# date  +%T
12:00:04
[root@nginx01 ~]# date -s "2019072916:58:00"
date: invalid date ‘2019072916:58:00’
[root@nginx01 ~]# date -s "20190729 16:58:00"
Mon Jul 29 16:58:00 CST 2019
[root@nginx01 ~]# date  +%T
16:58:03
[root@nginx01 ~]# date  +%F
2019-07-29
	

15. rpm和yum安装命令

mount  /dev/cdrom  /mnt

rpm		本地进行安装

	-ivh	安装软件包
	-Uvh	升级软件包
	-e	删除软件包
	-qa	查询软件包是否安装
	-ql	查看软件包中的内容
	-qi	显示软件包的详细信息
	-qc	显示软件的主配置文件
	-qf	查看命令属于哪个软件包,必须使用绝对路径,本地必须要有这个命令。
	
yum		安装软件

	install	  安装
	list	查看所有可安装的包
	provides	查看命令属于哪个软件包
	clean	清空  all  packages
	update		更新
	history	  历史记录
	installgroup
	repolist   查看域名仓库
	makecache	生成缓存
	remove		删除软件
	-y         确认安装
	
yum仓库列表
/etc/yum.repos.d/*repo

base    基础仓库
epel	扩展源

createrepo

源码编译安装

	1. 下载软件包,安装依赖
	2. 预编译	./configure   
	3. 编译安装		make    mkae  install 

16. 硬件基础

服务器的分类
外观分类、尺寸、高度单位
服务器的品牌
Dell服务器的常见型号
云服务器的品牌
服务器的核心部件
电源
cpu
内存
磁盘
RAID卡
光驱
远程管理卡
机房

17. 磁盘管理

磁盘的结构
	磁头、盘片、磁道、扇区、柱面。
磁盘的单位和接口
	SATA SAS PCIE
	bit  1B=bit
B	KB	MB	GB	TB PB EB	

磁盘的分区
	lsblk	磁盘的信息
	df 		查看磁盘的使用情况
	ll  /dev/sd*
	
	fdisk  适用于2TB以下的分区,MBR表 4个主分区,3+1()
		-l	显示分区列表信息
	
	mkfs.xfs	/dev/sdb1
	
	mount  挂载
	
	/etc/fstab 中,永久挂载。
	mount -a  
	
	umount  
	
	blkid	查看UUID信息

	gdisk	GPT分区表,128个分区
	
		mkfs.xfs	/dev/sdb1
	
	mount  挂载
	
	/etc/fstab 中,永久挂载。
	mount -a  
	
	umount  
	
	blkid	查看UUID信息
	
挂载的方式

mount	挂载
	-o	指定挂载参数
	-t	指定文件系统
	-a	重新加载/etc/fstab文件中设备
	
umount  卸载

	-lf	强制卸载
	切换到其他目录进行卸载。

/etc/fstab中
UUID=d9a59ed7-7a1c13b swap                    swap    defaults          0           0

挂载的设备			   挂载点               文件系统类型	 默认的挂载参数    是否备份   是否检查磁盘

swap	企业案例:java大量占用swap

磁盘分区或者创建一个大文件

mkswap	 指定为swap类型

swapon		文件名或者设备分区名

free  -m

swapoff  文件名或者设备分区名

swapoff  -a   禁用swap

swapon	-a		启用swap

swapon  -s   swap文件列表

RAID
级别和特点
RAID0
RAID1
RAID5
RAID10

软RAID和硬RAID(板载和独立)

在装系统前做RAID。

LVM逻辑卷

	PV	物理卷
	VG	卷组
	LV	逻辑卷
	PE	基本单元(4MB)
	

18. 进程管理

ps  aux		

[root@nginx01 ~]# ps  aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND

top/htop

[root@nginx01 ~]# top
top - 17:34:33 up 1 day,  2:35,  2 users,  load average: 0.00, 0.01, 0.05
Tasks:  95 total,   1 running,  94 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 :   995896 total,   722556 free,   104732 used,   168608 buff/cache
KiB Swap:  1048572 total,  1048572 free,        0 used.   718316 avail Mem 

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

ss  -lntp |grep  22
netstat -lntp|grep  22
lsof -i:22  

杀手三人组
kill	根据进程id  -1  -9   -15
killall	根据进程名
pkill	根据进程名  模糊杀手

jobs  bg  fg   

screen  

19. 开机启动流程

1. 按下电源
2. BIOS自检
3. MBR引导
4. 进入GRUB菜单
5. 加载内核kernel
6. systemd进程
7. 读取运行级别
8. 初始化系统
9. 启动开机自启动的服务(并行)
10.进入登录页面

运行级别
0-6
0	关机
1	单用户
2	多用户
3	多用户
4	多用户(centos-6中没有使用)
5	图形化
6	重启

 systemctl  set-default  级别

systemctl  get-default

centos-6
init   runlevel

systemctl  start   server
systemctl  stop
systemctl  restart
systemctl  reload
systemctl  status
systemctl  enable
systemctl  disable

systemctl  status
active(runing) 运行
inactive        不在运行

定义网卡名称
网卡命令规则
net.ifnames=0  biosdevname=0

20. 系统的优化

1.更新yum源
2.关闭selinux
3.关闭防火墙
4.关闭NetworkManager
5.安装常用的软件


21. 定时任务

crontab -e 
crontab -l
* * * * *
分 时 日 月 周  使用绝对路径   命令    &>/dev/null  

22.yum源修改及系统优化

第一个里程碑 查看当前使用的仓库
	yum repolist 默认的仓库随机选择某个大学 或者某个仓库网站
	第二个里程碑 修改默认yum源
	mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
	使用wget或者curl 命令下载 如果是wget 前提是安装了wget
	curl -o /etc/yum.repos.d/CentOS-Base.repo
	http://mirrors.aliyun.com/repo/Centos-7.repo
	安装企业扩展安装包
	ctrl + f 搜索页面内容
	wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

23.PS1 修改命令行格式的变量

    [root@oldboy ~]# 
	[	\u@		\h 	\W]     \$
	user @  \hostname 路径  用户提示符

24.网卡配置

 12 NAME=eth0				    #  网卡的名称
 13 UUID=007885a1-f43f-458e-93e8-0a85242f0f9d  # 系统默认会给所有的设备分配一个唯一标识
 14 DEVICE=eth0				    #  设备的硬件名称
 15 ONBOOT=yes					#  开机是否自动连接
 16 IPADDR=10.0.0.200			# IP地址
 17 PREFIX=24					#  子网掩码 决定了当前网络可用的IP数量
 18 GATEWAY=10.0.0.254		    #  网关 要出去上网   大楼门口
 19 DNS1=223.5.5.5			    #  域名解析  将域名解析成IP地址 你把域名给DNS服务

标签:文件,查看,删除,基础,etc,Linux,root,目录
From: https://www.cnblogs.com/skyy/p/17289606.html

相关文章

  • 在Linux安装JDK
    前言本文讲述在Linux服务器安装JDKrpm安装去Oracle官网下载.rpm格式的安装包,如Oracle-JDK8下载。也可以从CSDN-jdk-8u301-linux-x64.rpm.zip下载。echo"安装">/dev/nullrpm-ivhjdk-8u301-linux-x64.rpmecho"追加环境变量">/dev/nullecho'exportJA......
  • 在Linux安装Jenkins
    前言以Jenkins版本2.303作2例子在Linux系统直接安装的详细步骤,并解决插件下载速度慢问题。所有脚本可以直接复制在任意目录下执行。下载启动包echo"清华镜像下载启动war包到/opt/soft/jenkins目录">/dev/nullwget-P/opt/soft/jenkins--no-check-certificatehttps://mir......
  • Linux 系统快捷键
    1.linux路径#绝对路径从/开始称为绝对路径#相对路径从当前目录开始为相对路径2.特殊符号~命令行中表示当前的路径..命令行中表示上一级目录.命令行中表示当前的目录#代表了注释3.命令行快捷键ctrl+a快速移动光标到行首Homectrl+e快......
  • 用Yum在Linux安装MySQL8
    前言我们通过Yum几乎全自动的快速安装MySQL服务,这里演示的是8.0版本,给出了具体步骤、脚本、图例,和相关资料来源,以及解决远程连接相关问题。准备工作更换国内yum源提速参考CentOS更换YUM源更换yum源,国内下载速度更快。找MySQL官方yum仓库地址这一步只是告诉大家后面安装脚本......
  • 01:python基础
      正文#打印内容print()输入内容input()print("helloWorld!")#1:注释:输入内容#name=input("请输入你的名字:")#print("hello,",name,"您好")print("1024*768=",1024*768)#2:4个缩进代表代码块#Python程序是大小写敏感的,如果写错了大小写,程序会......
  • linux-通配符
    Linux通配符主要用户模糊查找文件,常用的Linux通配符如下表所示:名称作用*可以匹配任意数量任意字符?可以匹配一个任意字符[]可以匹配括号中的任意一个字符[^]可以匹配指定范围之外的任意单个字符示例:[abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z],[0-9......
  • Java基础
    注释1.单行注释//用于注释少量的代码或者对附近的代码进行说明2.多行注释/*/多用于注释多行代码3.文档注释/**/一般用于对类和方法进行说明vscode注释方法的快捷键:1.单行注释:选中区域Ctrl+/取消注释同样是这个快捷键2.多行注释:选中区域Alt+Shif......
  • Docker基础知识
    容器生态系统Docker现在几乎是容器的代名词,但在Docker围绕的还有一个生态系统。Docker是这个生态系统的基石,但完善的生态系统才是保障Docker以及容器技术能够真正健康发展的决定因素。容器生态系统包含核心技术、平台技术和支持技术 1.容器核心技术容器核心技术是指能够......
  • linux-命令替换
    命令替换是指将命令的标准输出作为值赋给某个变量,bashshell定义了两种语法进行命令替换。一种是使用反引号,另一种是利用啊$(),两种等价格式如下:`linux命令`$(linux命令)例一:echocurrentpathis`pwd`echocurrentpathis$(pwd)例二:#创建类似这样的文件file-2023-04-0......
  • Linux安装mysql数据库
    1.下载路径:https://dev.mysql.com/downloads/2.上传解压#tar-xvfMySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar3.安装#rpm-ivhMySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm--nodeps#rpm-ivhMySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm--no......