Linux基本操作

Liunx命令

1.简单系统命令

# 查看ip地址
	ip a
	ip addr
# ping网络(测试网络连通)
	ip 目标机器的ip
# 查看系统时间
	date
# 注销
	logout
# 关机
	shutdown now
# 重启
	reboot
# 清屏
	clear

2.Linux文件系统

Linux含义Windows
/bin所有用户可用的基本命令存放位置没有固定的命令存放目录
/sbin需要管理员权限才能所有命令
/bootlinux系统启动的时候需要加载和使用的文件
/dev外设连接linux后,对应的文件存放的位置类似Windows中的U盘,光盘的符号文件。
/etc外设连接linux后,对应的文件存放的位置类似windows中的注册表,
/home家目录,linux中每新建一个用户,会自动在home中为该用户分配一个文件夹类似windows中的"我的文档",每个用户有自己的目录。
/rootroot账户的家目录,仅供root账户使用类似windows中的Administrator账户的"我的文档"
/liblinux的命令和系统启动,需要使用一些公共的依赖,放在lib中,类似我们开发的代码执行需要引入的jdk的jar
/usr很多系统软件的默认安装路径类似windows中的C盘下的Program Files目录。
/var系统和程序运行产生的日志文件和缓存文件放在这里

3.文件管理命令

注意:命令区分大小写

# 查看当前目录下的文件列表
	ls
# 查看指定目录下的文件
	ls /
# 查看详细信息,元数据信息(用户、组、大小、创建时间、权限信息、文件类型)
	ls -l
# 查看隐藏文件
	ls -a 
# 参数并用
	ls -la
# 2. 切换目录
	cd 目标文件夹
# 绝对路径切换
	cd 绝对路径
# 绝对路径切换
	cd 相对路径
# 例子:切换到/etc/sysconfig/networks-scripts 目录下
# pwd 查看当前命令所在的目录
# 特殊目录符号
	~ 当前用户的home目录
	. 当前目录
	.. 上一级目录
# 4. 新建文件夹及文件
# 在当前位置新建文件夹
	mkdir 文件夹名
# 在指定目录位置,创建文件夹,并创建父文件夹
	mkdir -p /a/b/文件夹名
# 在当前目录下新建文件
	touch 文件名
# 5. 删除文件
# 删除文件
	rm 文件
# 删除文件夹
	rm -r 文件夹
# 强制删除不询问
	rm -rf 文件
# 6. 拷贝文件
# 拷贝文件
	cp 原文件  新文件
# 拷贝文件夹
	cp -r 源文件夹 新文件夹
# 7. 移动文件或修改文件名
# 移动源文件到目标文件夹中
	mv 文件  文件夹
# 修改文件A的名字为文件B
	mv 文件A 文件B
# 8. 获取文件的md5指纹(数字签名)
md5sum 文件名
# 简介
1. 数字签名,又称数字指纹
2. 可以验证文件是否被修改
3. 一个文件通过计算得到的一串字符串,文件内容的唯一标记(文件内容不变,指纹不会变)

4.文本内容查看命令

cat命令
# 查看文件中的全部信息(适合查看小文档)
	cat 文件名
	cat -n test.log |grep "debug" 查询关键字的日志
	# 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的日志:tail -n +92表示查询92行之后的日志
	cat -n test.log |tail -n +92|head -n 20 
	
less命令
# 以分页的方式浏览文件信息(适合查看大文档),进入浏览模式
	less 文件名
# 浏览模式快捷键#上一行#下一行
    G #最后一页
    g #第一页
    空格 #下一页
    /关键词 #搜索关键词
# 退出浏览模式,回到Linux命令行模式
    q #退出
tail 命令
# 实时滚动显示文件的最后10行信息(默认10行)
tail -f 文件名
# 显示文件的最后20行信息
tail -n 20 文件名
tail -n -20 文件名
# 显示文件信息从第20行至文件末尾
tail -n +20 文件名
/**
参数解释:
-f 该参数用于监视File文件增长。
-c Number 从 Number 字节位置读取指定文件
-n Number 从 Number 行位置读取指定文件。
-m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。
head 命令

跟tail命令作用相反

# 查询日志文件中的头10行日志;
head -n 10 test.log 
# 查询日志文件除了最后10行的其他所有日志;
head -n -10 test.log 
sed 命令
# 根据日期来查询日志 先 grep '2014-12-17 16:17:20' test.log 来确定日志中是否有该 时间点
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
# 删除包括关键词的行
sed -i '/关键词/d' main.log
使用more和less命令
# 这样就分页打印了,通过点击空格键翻页
 cat -n test.log |grep "debug" |more 
>xxx
# 使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
cat -n test.log |grep "debug" >debug.txt
split 命令

日志文件过大,可切割后查看

#1 按照行数切割
split -l 50000 main.log newfile_ --verbose
#2 按照字节大小切割:【以每个文件40mb分割】
split -b 40m main.log -d newfile_ --verbose 
grep 命令
# 打印匹配行的前后5行
grep -5 ‘parttern’ inputfile
# 打印匹配行的前后5行
grep -C 5 ‘parttern’ inputfile
# 打印匹配行的后5行
grep -A 5 ‘parttern’ inputfile
# 打印匹配行的前5行
grep -B 5 ‘parttern’ inputfile
/**
-i:搜索时,忽略大小写
-c:只输出匹配行的数量
-l:只列出符合匹配的文件名,不列出具体的匹配行
-n:列出所有的匹配行,显示行号
-h:查询多文件时不显示文件名
-s:不显示不存在、没有匹配文本的错误信息
-v:显示不包含匹配文本的所有行
-w:匹配整词
-x:匹配整行
-r:递归搜索
-q:禁止输出任何结果,已退出状态表示搜索是否成功
-b:打印匹配行距文件头部的偏移量,以字节为单位
-o:与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位

5.文件查找

文件名查找

# 语法
	find 搜索路径 -name "文件名关键词"
# 例子
	find / -name "passwd"
	find / -name "ifcfg-*"

文件内容查找

# 语法
	grep -参数 要查找的目录范围
	# 参数
	-n 显示查找结果所在行号
	-R 递归查找目录下的所有文件
# 例子
	grep aries /etc
	grep aries /etc/passwd

6.系统管理

# 静态查看系统进程
	# 静态查看系统进程
	ps -ef 显示出的结果:
    1.UID       用户ID
    2.PID        进程ID
    3.PPID      父进程ID
    4.C           CPU占用率
    5.STIME     开始时间
    6.TTY         开始此进程的TTY----终端设备
    7.TIME       此进程运行的总时间
    8.CMD       命令名
# 实时查看系统进程
	top
	# 快捷键
		↑ 下翻
		↓ 上翻
		q 退出
# 关闭进程
	kill 进程id 
# 强制关闭进程(谨慎使用)
	kill -9 进程id
强制关闭进程psmisc工具
# 以tree形式显示系统目前进程
	pstree
# 杀死进程
	killall 进程名
# 显示该文件被哪个进程使用
	fuser /目标文件

7.输出

覆盖输出
# 将命令1的执行结果,输出到后面的文件中。
`覆盖写入`
	命令1 > 文件
# 例子
	date > date.log
追加输出
# 将命令1的执行结果,输出到后面的文件中。
`追加写入`
	命令1 >> 文件
# 例子
	date >> date.log

8.管道

# 语法,将命令1的输出结果,作为命令2的输入
命令1 | 命令2
# 例子
查找aries用户:cat /etc/passwd | grep -n “baizhi”
查找aries组:cat /etc/group | grep -n “baizhi”
查找sshd进程:ps -aux | grep sshd
查找日志   tail 日志文件 | grep "关键字"
分页查找日志   less 日志文件 | grep "关键字"
查找整个日志   more 日志文件 | grep "关键字"
查找系统中的组   cat 系统组所在文件 | grep "关键字"

9. 文件编辑

系统权限|用户组

1. 创建组
  `groupadd 组名`
2. 删除组
  `groupdel 组名`
3. 查找系统中的组
  `cat /etc/group | grep -n “组名”`
  说明:系统每个组信息都会被存放在/etc/group的文件中

用户

1. 创建用户
  `useradd -g 组名 用户名`
2. 设置密码
  `passwd 用户名`
3. 查找系统账户
  说明:系统每个用户信息保存在`/etc/passwd`文件中
4. 切换用户
  `su 用户名`
5. 删除用户
  `userdel -r 用户名`
权限设置
语法:chmod u±rwx,g±rwx,o±rwx 文件名
运算符:
	- 删除权限
	+ 添加权限
	= 赋值权限
## 给文件的所有者添加执行权限
chmod u+x 文件名
## 给文件的其他人删除所有权限
chmod o-rwx 文件名
## 给文件的所属组设置读写权限
chmod g=wx 文件名
-------------------------2-----------------------------------------
# 文件的每个归属方的权限的值使用rwx之和计算出来的。
# 语法
	`chmod [-R] nnn 文件` 
	-R 递归设置文件夹内所有文件
# 设置文件的权限为(所有者可读可写可执行,所属组可读可写,其他人可读)
	chmod 764 文件名

10.压缩解压

参数描述
-z操作tar.gz文件需要使用
-x解压缩
-c压缩 指定存储的位置
-v显示压缩或者解压缩的执行过程信息
-f要处理的文件file,必须放在最后
.zip格式解压与压缩
# 先安装zip 软件
yum install zip  
# 不带确认的安装 
yum install -y zip  
卸载: yum remove 

zip 压缩文件名 原文件
# 压缩文件
zip -r 压缩文件名 原文件
# 压缩文件
zip 压缩文件名  原文件	
zip a.zip a.txt
# 递归要是文件夹 【如果不指定递归压缩,仅仅是压缩文件夹】
zip -r 压缩文件名  原文件夹	
zip -r bb.zip bb

unzip 压缩文件
#解压缩.zip文件
unzip 压缩文件名	;解压
.gz格式解压与压缩
# 一样先安装.gz格式的文件
gzip 原文件
#压缩为.gz格式的压缩文件,原文件会消失
gzip -c 原文件  压缩文件
#压缩为.gz格式,原文件保留
#-c的意思不是说需要保留文件,而是要把压缩的结果输出到控制台.
#>的意思是把结果输出到什么地方去.
gzip -r 目录
#压缩目录下的所有子文件,但是不能压缩目录
gzip  原文件	: 压缩文件, 源文件会消失
gzip  a.txt
gzip -r 原文件夹	:遍历文件夹,压缩文件夹中文件,目录不压缩
gzip -d 压缩文件
gunzip 压缩文件
#解压缩文件目录
gunzip -r 压缩文件目录	;解压
#解压缩文件
gunzip 压缩文件
.bz2格式解压与压缩
bzip2 源文件
#压缩为.bz2格式,不能保留源文件
bzip2 -k 源文件
#压缩之后保留源文件
注意:bzip2命令不能压缩目录
bzip2 -d 源文件
#解压缩
bunzip2 压缩文件
#解压缩,-k保留压缩文件
bunzip2 -k 压缩文件
.tar.gz格式
# 打包命令&解打包
打包命令:
tar -cvf 打包文件名 源文件
选项:
	-c		打包
	-v		显示过程
	-f		指定打包后的文件名
	
 tar -cvf learn.tar learn
解打包命令:
tar -xvf 打包文件名
选项:
	-x		解打包

压缩与解压

# 压缩
tar -zcvf 压缩包名.tar.gz 源文件
选项:
	-z		压缩为.tar.gz格式

tar -zcvf learn.tar.gz learn

#解压
tar -zxvf 压缩包名.tar.gz
选项:
	-x		解压缩.tar.gz格式
 
#加上-C表示解压到指定的目录
tar -zxvf 压缩包名.tar.gz -C 指定目录
解压:
tar -zxvf learn.tar.gz  -C  目录
压缩:
tar -zcvf learn.tar.gz learn
rmp软件
1. 安装rpm软件
  语法:`rpm -ivh xxx.rpm`
2. 查看系统中是否已安装的过该rpm软件
  语法:`rpm -qa 软件名`
3. 卸载rpm软件
  语法:`rpm -e 软件名`
4. 例子:安装tree工具
  作用:查看某个目录下的文件信息
  # 以树状结构查看2层文件信息
  tree -L 2 要查看的路径
yum命令

yum基于rpm实现的,提供了除了rpm的安装软件、卸载软件等功能以外还有,自动查找、下载软件并自动处理软件的彼此之间的依赖关系,下载并安装依赖包

## 列出所有可以安装的软件包
	yum list
## 安装软件
	yum install -y 软件名
## 卸载软件
	yum remove 软件名
## 查找软件包
	yum search all 软件名

11.linux服务

# 例如:sshd network firewalld 等
# 服务器管理命令
	systemctl status 服务名
# 启动服务
	systemctl start 服务名
# 重启服务
	systemctl restart 服务名
# 停止服务
	systemctl stop 服务名
# 禁止服务随linux启动。
	systemctl disable 服务名
# 设置服务随linux启动。
	systemctl enable 服务名
ip
[root@centos7 dirnew]# vim /etc/sysconfig/network-scripts/ifcfg-ens33
----------------网卡对应的文件内容---------------------
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    BOOTPROTO="none"
    DEFROUTE="yes"
    IPV4_FAILURE_FATAL="no"
    IPV6INIT="yes"
    IPV6_AUTOCONF="yes"
    IPV6_DEFROUTE="yes"
    IPV6_FAILURE_FATAL="no"
    IPV6_ADDR_GEN_MODE="stable-privacy"
    NAME="ens33"
    UUID="0bd5d8a5-fe1b-42de-82bd-bfa7d2984b95"
    DEVICE="ens33"
    ONBOOT="yes"
    IPADDR="192.168.199.8" # 修改这里的ip地址即可
    PREFIX="24"
    GATEWAY="192.168.199.2"
    DNS1="192.168.199.2"
    DNS2="8.8.8.8"
    IPV6_PRIVACY="no"
[root@centos7 dirnew]# systemctl restart network #重启网卡服务
防火墙
# 开启防火墙
systemctl stop 服务名
# 临时关闭防火墙
systemctl stop firewalld
# 禁止防火墙开机启动
systemctl disable firewalld

firewalld是服务名   也可是端口
# 查看主机名
hostname
# 设置主机名
hostnamectl set-hostname 主机名
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值