Linux 实操篇(CentOS7)

关于Shell:

shell:可看作命令解释器 (bin/sh 命令 shell命令入口)

uinx解释执行的程序:bourne shell (处理和用户的交互比较差一点) 。后来Linux在此基础上发展出bash shell(bourne again shell)
Debian(Linux的一个发行版系列),基于Debian的Ubuntu发行版用的shell解释器名为dash(6.10版本后)

CentOS7使用的是bash

帮助命令:

man 命令 (栗子: man ls)
help 命令(只获得shell内嵌命令的帮助信息)
命令 --help(外部命令)

内嵌命令和外部命令:
内嵌入命令:写在了bash里。入cd,exit,history (栗子: man cd是,解析出来的是bash)可以使用(man -f cd)

判断命令类型:
type 命令(栗子:type cd)

小知识
CTRL+l ,clear (清屏)
(cd .. 退回上级目录)
(cd - 返回上一次的位置)
su (切换用户)
(ls -a 显示所以文件)
(ls -l 显示各种信息,权限等。其中开头为-是文件,开头为d为目录)
pwd(显示当前工作目录的绝对路径【从根开始】,精准具体)
which 命令 (查看命令所在位置 栗子:which ls)

3.创建,删除,移动,重命名 目录/文件

mkdir (创建一个目录 mkdir 目录名)
mkdir -p a/b/c (嵌套创建a,b,c)
rmdir (删除一个目录 rmdir 目录名)
rmdir -p a/b/c (嵌套删除a,b,c)

touch a.txt (创建文件)
vim a.txt ()
cp 欲复制的文件 欲将文件复制的位置路径 (复制文件)
alias (查看别名)

rm 文件或目录名 (删除文件或目录)
-r(递归删除目录中所有内容) -f(强制删除操作,而不提示用于进行确认) -v 显示指令的详细执行过程 -rf /*(删库跑路)

mv (移动文件与目录或重命名)
mv oldnamefile newnamefile (重命名)
mv filename 移动位置目录

4.查看,追加文件内容

cat(查看文件内容,一般内容比较少。 -n显示所有行,包括空格。)
more (查看文件内容,一般内容比较多。 空格为翻页)
less (分屏显示文件内容,内容多,比more更优秀。空格/pg dn 翻下一页,pg up 翻上一页,/字符 查找字符N上找n下找,q 退出)
echo (输出内容到控制台 -e:支持换行,反斜杠转换。栗子: echo -e “aaa\nyadfu”)

>输出重定向和>>追加
ls -l > 文件 (将列表内容覆盖写入文件)
ls -al >> 文件 (将列表内容追加到文件末尾)
cat 文件1 > 文件2 (将文件1的内容覆盖到文件2)
echo “内容” >> 文件 (将内容追加到文件中)

head (显示文件头部内容 head 文件;head -n 5 文件 看文件头5行内容)

tail (输出文件尾部内容 tail 文件;tail -n 5 文件 看末尾5行;tail -f 文件 追踪该文件的更新,监控该文件)

5.软硬链接

每个文件都有a->inode(文件里一个重要的信息)
ln (软链接,增加一个c, c->a->inode,类似指针
ln -s 原文件或目录 软链接名 创建一个软链接;
rm -rf 软链接名 删除软链接;
rm -rf 软链接名/ 会把软链接对应的真实目录下的内容删除)
直接cat 软链接名,就是打开的原文件,还可进行vim等操作。

硬链接(增加一个b->inode ,ln 原文件或目录 硬链接名 创建一个硬链接【一般使用软链接较多】)

history(查看已执行过的命令 -c 清空命令;!命令号码 再次执行号码所对应的命令;)

6.获取时间日历

date (获取当前的时间信息)
cal(日历 )

7.增删用户及设置权限

useradd(useradd 用户名 添加新用户;useradd -g 组名 用户名 添加新用户到某个组)
passwd (passwd 用户名 给用户设密码)
id 用户名 (可查看是否有此用户;以及其id号)
cat /ect/passwd (可查看所有用户,其中很多用户是伪用户,用于支持系统的正常运行)
userdel 用户名(删除一个用户)
userdel -r 用户名 (删除一个用户及其 用户目录)

sudo (设置普通用户具有root权限)
修改vim /etc/sudoers ,修改后使用sudo执行命令
【如果改为 tony ALL=(ALL) NOPASSWD:ALL 时则不需要输入密码】
在这里插入图片描述


在这里插入图片描述


8.用户组管理命令(uid,gid,组):

cat /etc/group (其配置文件可以看用户所在uid号)或者 id 用户名
groupadd 组名(新增组)
groupdel 组名(删除组)
usermod -g 用户组 用户名(将用户加入/修改到用户组,其中wheel组具有管理员权限)
groupmod -n 新组名 原组名 (修改组名的名字)

9.文件权限组:ll (查看文件权限)

第0位:文件类型【目录 d,文件 -,链接文件 l,设备类型文件 c(字符类型设备文件,如鼠标,键盘)/b(块设备文件,如硬盘)】
第1-3位:读 写 执行 rwx (属主权限 / 【该文件所有者的权限】User)
第4-6位:读 写 执行 rwx (属组权限 / 【所有者的同组用户的权限】 Group)
第7-9位:读 写 执行 rwx (其他用户权限 / 【其他用户的权限】Other)

栗子 -rw-------1 root root 20 (root用户可以读和写,root组里的用户无任何权限,其他用户也没有任何权限;其中1指文件的硬链接个数 / 文件夹的子文件夹个数【要看你查看的是文件夹还是文件】;第一个root指文件属主;第二个root指文件属组;20指文件大小)

注意:
对于文件w的权限:只有当拥有该文件所在目录的w权限才可将文件删除
对于目录x的权限:表示可以进入该目录(cd进入)

10.修改文件/目录权限

chmod (改变权限)
第一种:
chmod u/g/o/a +/-/= r/w/x 文件名/目录名 (其中a代表所有用户)
(栗子: chmod u+x text.txt)

第二种:
r=4(2的2次方);w=2(2的1次方);x=1(2的0次方) ;rwx=4+2+1=7;
文件: chmod 777 text.txt (所有人都可rwx)
文件夹: chmod -R 777 text/ (整个文件夹里的所有文件都被设为777)

11.修改文件所有者/所属组:

chown(更改文件所有者)
chown 新所有者名 文件名

chgrp(改变文件所属组)
chgrp 新组名 文件名 (查看所有组名: cat /etc/group)

权限总栗子:如果大家都想看xiaoming用户的内容,对于xiaoliang其权限是r-x,而对于黄色框框圈起来的用户,其权限是- - -
在这里插入图片描述

12.搜索查找类:

find(查找文件或目录;可从当前 路径 / 指定目录向下递归地遍历自各个子目录)
find 路径/目录 -name 文件名;“ * 文件后缀名” / -user 用户名 / -size 文件大小

栗子: find /root -name “*.txt”
find -user xiaoming (查找小明用户下的文件)

grep
ls | grep 关键词 (查找文件名)
grep 关键词 文件名(查找文件内容)

locate快速定位
第一步先更新locate数据库: updatedb
第二步查找关键字: locate 关键字
查找命令的位置: which 命令名 (如: which cd)

wc 文件名
在这里插入图片描述


13.压缩解压类:

gzip 文件 (压缩;将文件压缩为 *.gz格式)
gunzip 文件.gz (解压)

zip/unzip
zip (可压缩文件或目录)
压缩文件: zip 压缩后的名字.zip 欲压缩文件(可以有多个)
压缩目录: zip -r 压缩后的名字.zip 欲压缩目录
unzip -d 解压位置 压缩包名

在这里插入图片描述


tar(打包)
tar -c (产生.tar打包文件)/ -v(显示详细信息) / -f(指定压缩后的文件名) / -z(打包同时压缩) / -x(解包.tar文件) / -C(解压到指定目录) *.tar.gz

栗子:
压缩多个文件:
tar -zcvf aaa.tar.gz bbb.txt ccc.txt
解压:
tar -zcvf aaa.tar.zp 桌面/Test

14.磁盘查看和分区类:

tree状目录安装: yum install tree
使用: tree ./

查看当前文件磁盘占用情况: ls -lh

当前目录及其子目录磁盘占用情况: du (包括隐藏文件) du 文件/目录
du -a (不仅查看子目录,还包括文件)
du -h (可带单位)
du -s(只显示总和)
du -c (显示总和)【-ch/ah/sh比较好用】
du --max-depth=n (指定统计子目录的深度为第几层)

查看每块磁盘占用的大小:
df -h (可带单位)

查看内存使用情况(物理内存和虚拟内存)
free -h(可带单位)

查看设备挂载情况:
lsblk / lsblk -f

15.手动挂载光盘:(添加设备光盘)

挂载:mount -t 文件系统类型 -o 挂接方式 要挂载的设备名称 挂载位置
卸载: umount 设备名称/挂载位置

-t vfstype:指定文件系统的类型,通常不必指定。mount会自动选择正确的类型。
常用类型有:
光盘或光盘镜像: iso9660
Dos fat16文件系统: msdos
Windows 9x fat32文件系统: vfat
Windows NT ntfs文件系统: ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX)文件网络共享: nfs

-o optionse:主要用来描述设备或档案的挂接方式。常用的参数有
loop:用来把一个文件当成硬盘分区挂接上系统
ro:采用只读方式挂接设备
rw:采用读写方式挂接设备
iocharset:指定访问文件系统所用字符集

在这里插入图片描述


在这里插入图片描述



设备名写 /dev/sr0或者写 /dev/cdrom
在这里插入图片描述


将光盘挂载到: mnt/cdrom 其中mkdir /mnt/cdrom (cdrom是创建出来的)
【挂载的完整写法也可以写成这样:mount -t iso9660 -o ro dev/sr0 】
在这里插入图片描述


在这里插入图片描述


设计开机自动挂载:
vim /etc/fstab
bikid(查看光盘uid)
在这里插入图片描述


16.新添加一个硬盘设备:

首先要分区,再格式化,再挂载
(小tips:dev目录是用于存储硬件设备信息的目录)
fdisk -l (显示所有硬盘的分区列表)
fdisk 硬盘设备名 (对新硬盘进行分区操作,如 fdisk /dev/sdb)

mkfs 格式化 (如【对sdb的第一个分区sdb1做一个格式化】:mkfs -t(格式) xfs /dev/sdb1) 格式化后可以产生uuid (lsblk -f 可查看)

将sdb第一块分区sdb1挂载到admin用户下: mount /dev/sdb1 /home/admin (lsblk -l/f 都可查看)

卸载:(可给设备名称也可给挂载点): umount /dev/sdb1 或者 umount /home/admin
(当卸载完后,admin下只存在配置文件,其他文件将不存在)
在这里插入图片描述

17.系统管理及进程状态:

PID:标识进程(进程码)
服务:指常驻内存的进程
服务管理:
centos6:
service 服务名 start | stop | restart |status
centos7:
systemctl start | stop | restart | status 服务名
查看服务方法: /usr/lib/systemd/system

a.查看当前进程状态:

如果想查看进程的cpu占用率和内存占用率:
ps aux | grep xxx(进程名或pid号)/less (功能描述:查看系统中所有进程 无-属于BSD风格;less是为方便翻页看;)

如果想查看进程的父进程id:
ps -ef | grep xxx/less (功能描述:可以查看子父进程之间的关系 有-属于UNIX风格)

a 列出带有终端的所有用户的进程
x 列出当前用户的所有进程,包括没有终端的进程
u 面向用户友好的显示风格
-e 列出所有进程
-u 列出某个用户关联的所有进程
-f 显示完整格式的进程列表




user:调用当前的用户名
pid:当前进程的id号
%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源
%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;
VSZ:该进程占用虚拟内存的大小,单位KB;
RSS:该进程占用实际物理内存的大小,单位KB;
TTY:该进程是在哪个终端中运行的。对于CentOS来说,tty1 是图形化终端,tty2-tty6是本地的字符界面终端。pts/O-255代表虚拟终端。
STAT:进程状态。常见的状态有:R:运行状态、S:睡眠状态、T:暂停状态、Z:僵尸状态、s:包含子进程、l:多线程、+:前台显示。<(优先级高)n(优先级低)
START:该进程的启动时间
TIME:该进程占用CPU的运算时间,注意不是系统时间COMMAND:产生此进程的命令名。
ppid:父进程

b.kill终止进程

kill 进程号(通过进程号杀死进程; kill -9 进程 强制杀死 )
killall 进程名称(通过进程名杀死进程,也支持通配符,在系统因负载过大而变得很慢是很有用)

pstree :查看进程树(查看进程的父子关系 -u 显示进程所属用户;-p 显示进程的pid) | press 分页
yum install psmisc(安装)

c.top实时监控系统进程状态:

-d 秒数(指定top命令每隔几秒更新。默认是3秒在 top命令的交互模式当中可以执行的命令)
-i(使top不显示任何闲置或者僵死进程。)
-p(通过指定监控进程ID来仅仅监控某个进程的状态。)

k(杀死某个进程,)
u(指定查看的用户)
p (以CPU使用率排序,默认就是此项口)
M(以内存的使用率排序)
N(以PID排序)
q(退出top)

d.netstat显示网络状态和端口占用信息

netstat -anp | grep 进程号(查看该进程)
netstat -nlp | grep 端口号 (查看网络端口号占用情况)

-a(显示所有正在监听(listen)和未监听的套接字( socket))
-n(拒绝显示别名,能显示数字的全部转化成数字)
-l(仅列出在监听的服务状态)
-p(表示显示哪个进程在调用)

e.crontab系统定时任务

先重新启动crond服务: systemctl restart crond

-e(编辑crontab定时任务)
-l(查询crontab任务)
-r(删除当前用户所有的crontab任务)

第一个“ * ”指一小时当中的第几分钟(0-59)
第二个“ * ”指一天当中的第几小时(0-23)
第三个“ * ”指一个月当中的第几天(1-31)
第四个“ * ”指一年当中的第几月(1-12)
第五个“ * ”指一周当中的星期几 (0-7)(0和7都代表星期日)

* :代表任何时间。比如第一个“ * ”就代表一小时中每分钟都执行一次的意思。
, :代表不连续的时间。比如“0 8,12,16 * * * 命令”,就代表在每天的8点0分,12点0分,16点0分都执行一次命令
- :代表连续的时间范围。比如“0 5 ** 1-6命令”,代表在周一到周六的凌晨5点0分执行命令

* /n :代表每隔多久执行一次。比如“ * /10****命令”,代表每隔10分钟就执行一遍命令.

栗子:
45 22 * * * 命令:每天22点45分执行命令
0 17 * * 1命令:每周1的17点0分执行命令
0 5 1,15 * * 命令:每月1号和15号的凌晨5点0分执行命令
40 4* * 1-5命令:每周一到周五的凌晨4点40分执行命令
* /104* * * 命令:每天的凌晨4点,每隔10分钟执行一次命令
0 0 1,15*1命令:每月1号和15号,每周1的0点0分都会执行命令。(注意:星期几和几号最好不要同时出现,因为他们定义的都是天。非常容易让管理员混乱。)

栗子:
进入编辑: crontab -e
编辑: */1 * * * * echo “hello world”>>/home/admin/桌面/hello
监控hello文件: tail -f hello

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值