Linux
linux组成
1、Linux内核
内核是操作系统的核心,提供很多基本功能。
2、shell
命令解释器,shell也是一种编程
语言它具有普通编程语言的很多特点。
3、文件系统
文件系统是文件存放在磁盘等存储设备上的组织方法。
4、应用程序
Linux命令 (Tab键可以补齐)
命令:参数选项+文件或路径
ls 查看当前文件
ls -a 查看当前文件及隐藏文件
ls -a 文件名 查看当前文件名的所有内容
ls –l 使用长格式列出文件的详细信息
ls –s 显示indoe节点信息相当于文件的身份证号
ls 【选项】【文件或目录】
cd / 退到根目录
cd ..退到上一级
cd –回到上一次的目录
mkdir:创建目录
mkdir 【选项】【目录】
mkdir –p /a/b/c 建立递推目录
touch:建立空文件 touch 【选项】【文件】
-t+时间+文件 设置文件的时间属性
tree:以树形结构列出目录下的所有内容,包括所有文件、子目录及子目录里的目录和文件。
语法:tree [选项][自录]
-d只显示目录 ; -F标记文件类型,为不同的文件类型,添加不同的符号。
-L level遍历目录的最大层数,level为大于0的正整数
pwd:显示当前工作目录的绝对路径语法
pwd[选项]/此命令一般直接使用
yum:安装命令的命令 语法:yum install 命令 –y
语法:rm -r[选项][文件或目录] 删除一个或多个文件或目录
-r递归删除目录及内容
-f强制删除 rm –rf ×××
-i在删除前需要确认 rm –ri ×××
cp:复制文件或目录
cp[选项][源文件][目标文件]
-r递归复制目录,即复制目录下的所有层级的子目录及文件
cp –r * /a/ 复制所有此目录的文件到/a/下
mv[选项][源文件]标文件] 移动和重命名文件语法
-f若目标文件已存在,不会询问而直接覆盖
-i若目标文件已存在,就会询问是否覆盖
-n不覆盖已存在的文件
命令帮助信息查看: man命令
[home]//跳转到第一页
[End]//跳转到最后一页
/字符串 向下依次查找想要搜索的内容
?字符串 向上依次查找想要搜索的内容
n ,N//当使用/或﹖时,n会继续当前搜索方向的下一个匹配的查询;N则进行相反方向的查询。备注(在非搜索状态,N或n不生效)
q //结束本次帮助
获取命令帮助信息使用方法:命令--help
用来查看命令的使用帮助和man类似使用方法: info命令
vim的三种模式:普通模式、插入模式、末行模式
通过vim命令打开文本多种方法小结:
1、 vim file //光标置于第1行行首
2、vim file +n //光标置于第n行
3、vim file + //光标置于末尾行的行首
4、vim file +/pattern //光标置于与pattern匹配的字符串处,pattern为任意字符串
光标定位
hjkl光标上下左右移动
0和$跳到光标所在行的行首和行、gg G跳到首行和尾行
文本编辑
y 复制 yy(以行为单位) 3 yy 复制三行
d 删除 dd(以行为单位)
p粘贴
u撤销
末行模式
:10进入第10行
:w保存 q退出 :wq保存并退出 :w!强制保存 :q!不保存强制退出 :wq!强制保存退出
:e /root/aa.txt打开文件 :e!重新打开当前文件
:x保存退出(不需要! ) :X对文件进行加密
:w存储到当前文件 :w /agan6.txt 另存为/agn6.txt
:1,3 w agan6.txt 另存1-3行,生成新文件为agan6.txt
:r /etc/hosts 读入文件到光标所在行后
:5 r /etc/hosts 读入文件到第5行后
在末行模式进行查找替换
语法:范围+s/old/new/选项
:1,6 s/root/agan/ 把1-6行的root替换为agan :1,6 s/root/agan/g 1-6全局换
:% s/root/agan/g %表示全文g表示全局(备注:全文只替换行首,全局替换所有)
:6,$ s/root/agan/g $表示最后一行
:1,9 s/^# //1-9行的开头#替换为空,批量取消注释
:% s/^/#/给所有行加上#注释掉
设置环境
临时设置 :set nu设置行号 :set nonu 撤销设置行号
永久的设置环境:
~/ .vimrc //影响当前用户
/etc/vimrc //影响所有系统用户
例如:[root@agan ~]# vim .vimrc set nu(备注:把环境设置写入到配置文件末尾处)
查看文件内容
查看文件内容的命令有: cat、more、less、head、 tail
cat查看文件内容;
-n从1开始对所有输出的内容按行编号,不忽略空白行
-b忽略显示空白行,只显示有内容的行
范例1:编辑新文件
[root@agangn]# cat >text1.txt<<EOF >ni >hao > ma > EOF
(>取代之前的文件内容,>>可实现非交互式地编辑追加内容到文件尾部)
范例2:把多个文件合并成一个新文件
[root@agangn]# cat text1 text2 text3 > new123 (三个文件合成一个文件)
范例3:清空文件的内容
[root@agangn]# cat /dev/null >text1.txt(这里不能多个清空) text1.txt被清空
more、less分页查看文件内容;
More
功能类似于cat,cat命令将整个文件内容一次性显示在屏幕上,more则会一页一页显示。
语法:more[选项][文件]
常用: +数字从第数字行开始显示; -数字定义屏幕显示行数
more常用操作命令:v调用vi编辑器;b返回上一屏;=输出当前行的行号;q退出more的动作
范例1: more命令后面不接任何参数 more /etc/profile
范例2:定义屏幕显示的行 more -5 /etc/profile
范例3:从指定的行数开始显示内容 more +5 /etc/profile注:从profile的第5行往下
范例4:分页显示目录下的内容 ls /etc/ |more -10
备注:│表示管道的意思,这里起的作用是第一个命令的结果,通过管道传递给下一个命令
Less
功能类似more,可以分页显示文件内容,但比more功能强大。
语法:less[选项][文件]
-i搜索时忽略大小写
-N在每行前输出行号
-p后面跟被搜索的字符
!命令调用shell,并执行命令
范例1:在/etc/profile搜索单词MAIL less -p MAIL/etc/profile
范例2:搜索字母a的同时显示行号 less -N -p a /etc/yum.conf
head查看文件头部内容
功能:显示文件头部内容,默认输出文件的开头10行
语法head[选项][文件]
-n+行数 指定显示的行数
tail查看文件内容
功能:用于显示文件内容尾部,默认输出文件的最后10行
语法:tail [选项][文件]
-n+行数 //指定显示的行数
-F //实时输出文件变化后追加的数据
范例1:通过tail命令习监控日志的变化(生产中常用的场景是监控日志文件)
tail -F /var/log/secure
备注:使用xshell软件开启两个窗口,一个窗口执行此命令,一个窗口使用普通用户远程登录,远程登录成功后,看监控的着的那个窗口,即可看到事实监控的日志信息。|
文件的压缩与解压
tar命令功能:打包压缩、解压文件
语法:tar[选项][文件或目录]
z //有gzip属性的
c //创建新的tar包
v //显示详细的tar命令执行过程
f //指定压缩文件的名字
x //解压tar包
c //指定解压的目录路径
--exclude=PATTERN //打包时排除不需要处理的文件或目录
范例1:文件的压缩
tar -cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar
tar -czf jpg.tar.gz *.jpgl //将目录里所有jpg文件打包成jpg.tar.gz
tar -cvf jpg.tar *.jpg --exclude=6.y //排除6.jpg不进行压缩
tar -cvf jpg.tar *.jpg --exclude-{2..6}.ipg //排除连续的2-6之间不进行压缩
tar -cvf jpg.tar *.jpg --exclude=2.jpg --exclude=4.jpg //排除不连续的2和4~
unzip -r agan.zip text1.txt //把text1.txt压缩成名为agan.zip的文件
范例2:文件的解压缩
tar -xvf jpg.tar //解压tar包
tar -xzvf jpg.tar.gz //解压tar.gz包
tar -xvf jpg.tar -c /agan //解压到指定路径
unzip agan.zip //解压缩*.zip的文件
过滤字符串
语法:grep+要过滤的内容+文件名 //过滤想要的内容
-v显示不匹配的行,或者说排除某些行; -n显示匹配行及行号;
-c只统计匹配的行数;-i不分区大小写;-E使用扩展的egrep命令;
企业需求:在大数据中过滤出所有agan和Lisi的信息分析
命令使用方法:grap -E+“字符串|字符串”+文件名或egrep+“字符串|字符串”+文件名
排除过滤的内容
企业需求:从大数据中排除叫agan的,显示其他员工的信息
命令方法:grep -v+要过滤的内容文件名 //排除要过滤的内容
统计过滤信息
企业需要:在大数据中统计所有姓张的员工有多少个
命令方法:grep -c要过滤的内容+文件名 //统计行数
管道和重定向
管道被用来传递文本信息,可以将上一次命令执行得出的结果作为下一个命令的出入,同时也可将上一次命令的结果进行提取、处理,得到有用的信息,方便下一个命令的执行。
重定向
重定向符号相当于一个漏斗,把内容无任何损失的,从一个地方定位到另一个地方,箭头的)为文件流向的方向。
‘>’:将信息保存到指定文件,覆盖之前的内容
‘>>’:将信息追加到指定文件的结尾,不覆盖文件之前的内容
查找工具
find命令语法:find在哪里查找文件类型是什么要查找文件还是目录,名字是什么“ ”/名字用双引号引起来
例;
find / -type f –name "agan" 在根目录找一个名为agan的普通文件
备注:-type表示文件类型
-name表示文件名
-type类型参数类型参数列表:
f普通文件;l符号连接;d目录;c字符设备; b块设备;s套接字
按文件名查找文件:
[root@gj ~]# find /etc -iname " ifcfg-eth0" //-i忽略大小写
按文件类型查找文件:
[root@gj~]# find /dev -type f //f普通
[root@gj~]# find /dev -type d //d目录
按文件大小:
[root@gj~]# find /etc-size +5M //大于5M
[root@gj ~]# find /etc –size 5M [root@gj ~]# find /etc -size -5M//等于小于5M
[root@gj ~]# find /etc -size +5M –ls //找到后查看
按时间找(atime,mtime,ctime):
[root@gj ~]# find /etc -mtime +5 //修改时间超过5天
[root@gi~]# find /etc -mtine 5 //修改时间等于5天
[root@gi~]# find / etc -mtime -5 //修改时间5天以内
按文件属主、属组找:
[root@gj.~]# find / home -user agan //属组是agan的文件
[root@gi~]# find /home -group hr //属组是hr组的文件
用户 权限 鸟叔的私房菜linux
1、查看ip ifconfig
2、切换用户 su
3、重置用户名密码sudo passwd
4、远程连接 ssh 22
FinalShell SSH工具,服务器管理,远程桌面加速软件,支持Windows,macOS,Linux,版本3.9.3,更新时间2022.1.10 - SSH工具 客户端 ssh远程连接下载
启停服务 service sshd status #查看服务状态
service sshd stop #停止服务
service sshd start #启动服务
service sshd restart #重启服务
5、查看当前路径下有那些文件 ls
6、查看当前所在绝对路径 pwd
7、切换路径 cd 路径 ../
8、读文件 cat