①小白学习Linux之基础学习★
Posted 行走的皮卡丘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了①小白学习Linux之基础学习★相关的知识,希望对你有一定的参考价值。
Linux基础学习√
- 1、centos6和7的变化
- 2、linux基础
- 3、目录命令和文件命令
- 4、权限命令和帮助命令
- 5、搜索命令和别名命令
- 6、压缩命令和关机重启
- 7、网络命令和系统痕迹
- 8、挂载命令
- 9、vim编辑器
- 10、rpm软件包安装
- 11、yum在线安装软件
- 12、源码包安装软件
- 13、用户管理
- 14、权限管理
- 15、磁盘管理
- 16、服务管理(centos 7)
- 17、磁盘配额
- 18、CentOS 7网卡改名
- 19、启动引导与修复
- 20、服务管理(centos 6)
- 21、进程管理
- 22、工作管理
- 23、系统资源查看
- 24、定时任务
- 25、日志管理
1、centos6和7的变化
1.1.文件系统
Centos 6:ext4(单个文件最大16TB)
Centos 7:xfs(单个文件最大9EB)
1.2.防火墙、内核版本、默认数据库
CentOS 6.x
防火墙:iptables
内核版本:2.6.x-x
默认数据库:MySQL
CentOS 7.x
防火墙:firewalld
内核版本:3.10.x-x
默认数据库:MariaDB
1.3.时间同步,修改时区,修改语言
CentOS 6.x
# 时间同步:
ntpq -p
# 修改时区:
/etc/sysconfig/clock
# 修改语言:
/etc/sysconfig/i18n
CentOS 7.x
# 时间同步:
chronyc sources
# 修改时区:
timedatectl set-timezone Asia/Shanghai
# 修改语言:
localectl set-locale LANG=zh_CN.UTF-8
1.4.主机名
# CentOS 6.x的配置文件为:(永久设置)
/etc/sysconfig/network
# CentOS 7.x的配置文件为:(永久设置)
/etc/hostname
# CentOS 7.x还可以使用命令永久设置
hostnamectl set-hostname LYY
1.5.网络服务管理
操作行为 | CentOS 6.x | CentOS 7.x |
---|---|---|
启动指定服务 | service 服务名 start | systemctl start 服务名 |
关闭指定服务 | service 服务名 stop | systemctl stop 服务名 |
重启指定服务 | service 服务名 restart | systemctl restart 服务名 |
查看指定服务状态 | service 服务名 status | systemctl status 服务名 |
查看所有服务状态 | service --status-all | systemctl list-units |
设置服务自启动 | chkconfig 服务名 on | systemctl enable 服务名 |
设置服务不自启动 | chkconfig 服务名 off | systemctl disable 服务名 |
1.6.网络设置
网卡名
- CentOS 6.x 网卡名是:eth0
- CentOS 7.x 网卡名是:ens33
网络配置命令
- CentOS 6.x中:ifconfig/setup
- CentOS 7.x中:ip/nmtui
网络服务
- CentOS 6.x默认使用 network 服务
- CentOS 7.x默认使用 NetworkManager 服务(network作为备用)
2、linux基础
-
1.MBR分区表中,1-4为主分区,5开始为逻辑分区。
-
2.分区时,/、/swap、/boot 为必分的分区(boot目录的作用是防止磁盘写满了开不了机)
-
3.远程服务器永不关机、配置防火墙的时候不要把自己过滤了(配置定时任务,配置前每10分钟清空一下防火墙)
-
4.linux的目录结构
目录名 | 目录的作用 |
---|---|
/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行。是/usr/bin/目录的软链接 |
/sbin/ | 存放系统命令的目录,只有超级用户才可以执行。是/usr/sbin/目录的软链接 |
/usr/bin/ | 存放系统命令的目录,普通用户和超级用户都可以执行 |
/usr/sbin/ | 存放系统命令的目录,只有超级用户才可以执行 |
/boot/ | 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等 |
/dev/ | 设备文件保存位置 |
/etc/ | 配置文件保存位置 |
/home/ | 普通用户的家目录 |
/lib/ | 系统调用的函数库保存位置。是/usr/lib/的软链接 |
/lib64/ | 64位函数库保存位置。是/usr/lib64/的软链接 |
/lost+found/ | 当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里 |
/media/ | 挂载目录。系统建议是用来挂载媒体设备的,如软盘和光盘(基本不用) |
/misc/ | 挂载目录。(基本不用) |
/mnt/ | 挂载目录 |
/opt/ | 第三方安装的软件保存位置(基本不用),都在/usr/local下 |
/proc/ | 虚拟文件系统 |
/var/ | 动态数据保存位置 (缓存、日志、软件运行文件) |
/usr/ | 系统软件资源目录 |
/root/ | root用户的家目录 |
/srv/ | 该目录存放一些服务启动之后需要提取的数据 |
/sys/ | 该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs |
3、目录命令和文件命令
3.1、 目录操作命令
3.1.1.ls:显示目录下的内容
ls [选项] [文件名或目录名]
# 选项:
-a: # 显示所有文件
-d: # 显示目录信息,而不是目录下的文件
-h: # 人性化显示,按照我们习惯的单位显示文件大小
-i: # 显示文件的索引节点号
-l: # 长格式显示
# 例:
ls -l
3.1.2.cd:切换所在目录
cd [路径]
# 例:
cd /usr/local/src # 切换到src目录下(绝对路径)
cd - # 切换到上次使用的目录
cd ~ # 切换到家目录(~可省略)
cd ../ # 切换到本目录的上一个目录(相对路径)
cd ./a # 切换到当前目录下的a目录中(相对路径)
3.1.3.pwd:查询当前所在目录
# 例:
pwd
3.1.4.mkdir:创建空目录
mkdir [选项] 目录名
# 选项:
-p: # 递归建立所需目录
# 例:
mkdir /root/test
3.2、文件操作命令
3.2.1.touch:创建新文件、修改文件时间值
# 例:
touch /root/test.txt
3.2.2.stat:查看文件详细信息
# 例:
stat /root/anaconda-ks.cfg
3.2.3.cat:查看文件内容
cat [选项] 文件名
# 选项:
-A: 相当于 -vET 选项的整合,用于列出所有隐藏符号
-E: 列出每行结尾的回车符$
-n: 显示行号
-T: 把 Tab 键用 ^I 显示出来
-v: 列出特殊字符
# 例:cat anaconda-ks.cfg
3.2.4.more:分屏显示文件
# 例:
more anaconda-ks.cfg
#交互:
空格键: 向下翻页
b: 向上翻页
回车键: 向下滚动一行
/字符串: 搜索指定的字符串
q: 退出
3.2.5.less:分行显示文件
# 例:
less anaconda-ks.cfg
# 交互:
空格键: 向下翻页
b: 向上翻页
回车键: 向下滚动一行
/字符串: 搜索指定的字符串
q: 退出
3.2.6.head:显示文件开头,默认10行
head [选项] 文件名
选项: -n
行数: 从文件头开始,显示指定行数
-v: 显示文件名
# 例:
head anaconda-ks.cfg head -n 20 anaconda-ks.cfg
3.2.7.tail:显示文件结尾,默认10行
tail [选项] 文件名
选项: -n
行数: 从文件结尾开始,显示指定行数
-f: 监听文件的新增内容
# 例:
tail anaconda-ks.cfg tail -n 20 anaconda-ks.cfg tail -f anaconda-ks.cfg
# 需要新开一个连接来添加内容进行测试
3.2. 8.ln:建立快捷方式
ln [选项] 源文件 目标文件
# 选项:
-s: 建立软链接文件。如果不加“-s”选项,则建立硬链接文件
-f: 强制。如果目标文件已经存在,则删除目标文件后再建立链接文件
# 例:
ln -s /usr/local/nginx/bin /usr/local/bin # 一定要写绝对路径
3.3、目录和文件都能操作的命令
3.3.1.rm:删除文件、目录等
rm [选项] 文件或目录
# 选项:
-f: 强制删除(force)
-i: 交互删除,在删除之前会询问用户
-r: 递归删除,可以删除目录(recursive)
# 例:
rm -rf /root/test.txt # 慎用
3.3.2.cp:复制文件、目录
cp [选项] 源文件 目标文件
# 选项:
-a: 相当于 -dpr 选项的集合
-d: 如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
-i: 询问,如果目标文件已经存在,则会询问是否覆盖
-p: 复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
-r: 递归复制,用于复制目录
# 例:
cp -a /root/test.txt /tmp/
3.3.3.mv:剪切文件、目录
mv [选项] 源文件 目标文件
# 选项:
-f: 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
-i: 交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
-v: 显示详细信息
# 例:
mv /root/test.txt /tmp/a.txt # 移动文件并该名
mv /root/test.txt /root/test.txt # 文件改名
4、权限命令和帮助命令
4.1.权限命令
4.1.1.chmod:修改文件或目录的权限
chmod [选项] 权限模式 文件或目录
# 选项:
-R: # 递归设置权限,也就是给子目录中的所有文件设定权限
# 权限模式:
[ugoa][+-=][rwx] 或用数字"r=4、w=2、x=1"
# 例:
chmod u+r test.txt
chmod 753 test.txt
4.1.2.chown:修改文件或目录的属主和属组
chown [选项] 属主.属组 文件或目录
# 选项:
-R: # 递归设置权限,也就是给子目录中的所有文件设定权限
# 例:
chown -R lzp test.txt # 更改属主
chown -R .lzp test.txt # 更改属组
chown -R lzp.lzp test.txt # 更改属主和属组
# 注:普通用户不能修改修改文件的属主(即使文件属主是他自己)
4.1.3.umask:权限掩码
umask # 查看权限掩码(八进制)
# 新建文件的默认权限最大只能是666,而umask的值是 022
“-rw-rw-rw-”减去“-----w--w-”等于“-rw-r--r—”
# 新建目录的默认权限最大可以是777,而umask的值是022
“drwxrwxrwx”减去“d----w--w-”等于“drwx-r-xr-x”
4.1.4.getfacl:查看文件或目录的ACL
# 语法格式:
getfacl [选项] [目录或文件]
# 例:
getfacl /etc/hostname
4.15、setfacl:设置文件ACL规则
# 语法格式:
setfacl [选项] [文件]
# 选项:
-x: # 删除单个用户的ACL权限
-b: # 删除所有扩展访问控制列表条目
-R: # 递归操作子目录
-m: # 更改文件的访问控制列表
# 例:
setfacl -Rm u:lzp:rw- test # 设置lzp用户对该文件的acl权限
setfacl -x u:lzp test # 删除lzp用户对改文件的acl权限
4.2、帮助命令
4.2.1、man:显示联机帮助手册
man [选项] 命令
# 选项:
-f: # 查看命令拥有哪个级别的帮助
-k: # 查看和命令相关的所有帮助
# 例:
man ls
# 查看ls的帮助手册
4.2.2、info:一套完整的说明资料
# 例:
info ls
4.2.3、–help:查看帮助
# 例:
ls --help
5、搜索命令和别名命令
5.1、whereis
- 定位指令的二进制程序、源代码文件和man手册页等相关文件的路径
# 例:
whereis ls
5.2、which:查找并显示给定命令的绝对路径
# 例:
which ls
5.3、locate:根据一个数据库搜索文件
数据库位置:/var/lib/locatedb;每天自动更新一次
使用locate之前,先使用updatedb命令,手动更新数据库
# 例:
locate /etc/sh # 搜索etc目录下所有以sh开头的文件
locate -i ~/m # 搜索用户主目录下,所有以m开头的文件,并且忽略大小写
5.4、find:在指定目录中搜索文件
# 语法:
find 搜索路径 [选项] 搜索内容
5.4.1 按照文件名搜索
# 选项:
-name: # 按照文件名搜索
-iname: # 按照文件名搜索,不区分文件名大小写
# 例:
find . -name "*.txt" # 搜索当前目录下所有的.txt文件
5.4.2 按照文件大小搜索
# 选项:
-size [+|-]大小: # 按照指定大小搜索文件,单位:“b、c、w、k、M、G”,默认b
# 例:
find /etc -size +2k # 搜索/etc目录下大于2kb的文件
5.4.3 按照修改时间搜索
# 选项:
-atime [+|-]时间: 按照文件访问时间搜索
-mtime [+|-]时间: 按照文件数据修改时间搜索
-ctime [+|-]时间: 按照文件状态修改时间搜索
# 例:
find /var/log/ -mtime +30 # 搜索30天前修改过的文件
find /var/log/ -mtime -7 # 搜索7天内修改过的文件
5.4.4 按照权限搜索
# 选项:
-perm 权限模式: 查找文件权限刚好等于“权限模式”的文件
-perm -权限模式: 查找文件权限全部包含“权限模式”的文件
-perm +权限模式: 查找文件权限包含“权限模式”的任意一个权限的文件
# 例:
find /etc -perm 777 # 搜索/etc下权限为777的文件
5.4.5 按照文件类型搜索
# 选项:
# 查找目录
-type d:
# 查找普通文件
-type f:
#查找软链接文件
-type l:
# 搜索/etc下的普通文件
# 例:
find /etc -type f
5.4.6 逻辑运算符
# 选项:
# 逻辑与
-a:
# 逻辑或
-o:
# 逻辑非例:
-not:
# 搜索所有以.txt和.pdf结尾的文件
find . -name "*.txt" -o -name "*.pdf"
# 搜索大于2KB,并且文件类型是普通文件的文件
find . -size +2k -a -type f
# 搜索不是普通文件的东西
find . -not -type f
5.4.7 -exec:调用外部命令
# 例:
find .-type f -user root -exec chown tom {} \\; # 搜索属主是root的文件,并更改为用户tom
5.5、grep:搜索文件中的内容
grep [选项] "搜索内容" 文件名
# 选项:
-i: 忽略大小写
-n: 输出行号
-v: 反向查找
# 例:
grep -v "root" /etc/passwd # 在/etc/passwd中搜索root,然后取反显示
5.6、:将上一个命令的输出作为下一个命令的输入(管道符)
# 例:
netstat -an | grep "ESTABLISHED" | wc -l # 统计网络连接数量
5.7、alias:别名
alias 别名='原命令'
例:
alias ser='service network restart' # 后续使用时,直接输入ser # 用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc
6、压缩命令和关机重启
6.1、zip:压缩文件或目录
# 语法:
zip [选项] 压缩包名 源文件或源目录
# 选项: 压缩目录
-r:
# 例子:
zip ana.zip anaconda-ks.cfg
6.2、uzip:解压缩文件
# 语法:
unzip [选项] 压缩包名
# 选项:指定解压缩位置
-d:
# 例如:
unzip -d /tmp/ ana.zip
6.3、tar:打包与解除打包
# 语法:
tar [参数] [文件或目录]
# 选项:
-c: # 建立新的备份文件
-C 目录: # 指定解打包位置
-f: # 指定压缩包的文件名
-v: # 显示打包文件过程
-z: # 通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz(用来识别)
-t: # 列出备份文件的内容
-x: # 从打包文件中提取文件
# 例:
tar -cf all.tar *.jpg # 将所有.jpg的文件打成一个名为all.tar的包
tar -xf all.tar -C /tmp # 提取包里面的文件到指定目录(解压缩)
tar -zcvf log.tar.gz linuxcool.log # 打包文件以后,以 gzip 压缩
tar -zxvf log.tar.gz -C /tmp # 解压缩到指定文件
tar -cvf linuxcool.tar linuxcool --remove-files # 打包文件之后删除源文件
6.4、sync:强制将内存缓冲区中的数据立即写入磁盘中(一般不需要用)
#语法:
sync
#例:
sync
6.5、shutdown:关机和重启
# 语法:
shutdown [选项] [参数]
# 选项:
-r: # 重新启动
-h: # 系统关机
-c: # 取消已经执行的 shutdown 命令
# 例:
shutdown -h now # 指定现在立即关机
shutdown -r now # 指定现在重启
shutdown -h 22:30 # 指定时间关机
shutdown -c # 取消按预定时间关闭系统
shutdown +5 "System will shutdown after 5 minutes" # 指定5分钟后关机,同时送出信息给登入用户
6.6、reboot:重启系统
# 语法:
reboot
7、网络命令和系统痕迹
7.1、配置IP地址
# 方法一:
setup(centos6)| nmtui(centos7)
# 方法二:
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO="static" # 可选static和dhcp
IPADDR="192.168.248.133" # 设置IP地址
NETMASK="255.255.255.0" # 设置子网掩码
GATEWAY="192.168.248.2" # 设置网关
DNS1="114.114.114.114" # 设置第一个DNS
DEFROUTE="yes" # 开启默认路由
# ubuntu16更改IP:
vim /etc/network/interfaces
------------------------------------------------------------------------
auto ens33
iface ens33 inet static
address 192.168.248.11
netmask 255.255.255.0
gateway 192.168.248.2
dns-nameserver 223.6.6.6 114.114.114.114
------------------------------------------------------------------------
sudo systemctl restart networking
7.2、ifconfig:查看本机的IP信息
yum -y install net-tools # 需要先安装此工具才能使用此命令
ifconfig # 查看本机信息
ifconfig eth0 up # 启动eth0网卡(ifup eth0)
ifconfig eth0 down # 关闭eth0网卡(ifdown eth0)
-v # 显示详细信息
-s # 显示简短信息
-a # 显示所有接口,即使已经关闭的
7.3、ping:测试网络连接
ping [选项] IP
# 选项:
-c 次数: # 用于指定 ping 的次数
# 例:
ping 114.114.114.114 # ctrl+c手动停止
ping -c 1 192.168.1.0 # 测试一个数据包
7.4、netstat:网络状态查看
netstat [选项]
# 选项:
-a: # 列出所有网络状态,包括 Socket 程序
-n: # 使用 IP 地址和端口号显示,不使用域名与服务名
-p: # 显示 PID 和程序名
-t: # 显示使用 TCP 协议端口的连接状况
-u: # 显示使用 UDP 协议端口的连接状况
-l: # 仅显示监听状态的连接
-r: # 显示路由表
# 例:
netstat -tuln # 查看本机正在侦听的端口
netstat -anp # 查看所有连接并显示PID
7.5、mail:发送和接收电子邮件
安装此软件才能使用 :
yum -y install mailx
# 语法:
mail [选项]
# 选项:
-s # 给邮件追加主题
-a # 发送邮件附件,多个附件使用多次-a选项即可
# 例:
echo "hello" | mail -s test test@linuxcool.com # 标题“test”,内容“hello”的邮件
mail # 查看邮件
=======================================================================================
7.6、w:显示系统中正在登陆的用户信息
# 该命令查看的是/var/run/utmp
# 例:
w
7.7、last:查看系统所有登陆过的用户信息
# 该命令查看的是/var/log/wtmp
# 例:
last
7.8、lastb:查看错误登陆的信息
# 查看的是/var/log/btmp
# 例:
lastb
7.9、ethtool:查看网卡信息
# 例:
ethtool eth1
7.10、lspci:查看网卡型号
# 例:
lspci | grep -i eth
7.11、iftop:查看实时网络流量
# 例:
iftop
7.12、sar:统计各种信息(包括网卡流量、cpu使用率)
sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异,某些系统提供的sar支持基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。
sar –n DEV 1 2 # DEV显示网络接口信息;每一秒钟取1次值,取2次。
另外,-n参数很有用,他有6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL ,其代表的含义如下:
- DEV显示网络接口信息。
- EDEV显示关于网络错误的统计数据。
- NFS统计活动的NFS客户端的信息。
- NFSD统计NFS服务器的信息
- SOCK显示套接字信息
- ALL显示所有5个开关
[sre@CDVM-213017031 ~]$ sar -n DEV 1 2
Linux 2.6.32-431.el6.x86_64 (CDVM-213017031) 05/04/2017 _x86_64_ (4 CPU)
08:05:30 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
08以上是关于①小白学习Linux之基础学习★的主要内容,如果未能解决你的问题,请参考以下文章