CentOS系统学习笔记

时间:2022-12-25 18:36:26

常用命令

切换root用户
su - root

切回来
su - zhang

主机名
hostname

清屏
clear

内核信息
uname

内核版本号
uname -r
uname -a
uname --all

补全/查看
TAB一次,两次

history
!!
!字符
!数字
!?ea

crtl 快速选取历史命令

list *

使用管理员身份用户
sudo

passwd

查看当前进行的任务
jobs

创建文件
touch

显示所有文件,包括隐藏
ls -a

查看权限
ls -l

touch已存在目录,即更新时间

显示目录结构
list -R

显示目录信息
ls -ld Downloads/

显示文件信息
file vmlinuz-0-rescue-7a110dde3ffd4b1c8fb3874b1d487ecb 

绝对路径以"/"开头,根目录开始
相对路径以当前目录开始

显示当前目录
pwd

回到上一个目录
cd -

复制文件
cp linuxcast linuxcast-2

复制文件夹,并显示细节
cp -rv XXX XXX

创建目录
mkdir xxxx

移动文件
mv lala mydoc

移动并重命名:
mv lala mydoc

不指定目录,即重命名
mv qqq zhanzhihao

删除文件
rm XXX

删除文件夹
rm -r XXX

交互式的删除
rm -ri XXX

强制删除
rm -f xxx

删除目录,但不能删除非空文件夹
rmdir xxxx

查看文件内容
cat

系统文件及命令

系统目录:
bin:可执行命令
boot:操作系统内核
dev:硬件设备
etc:配置文件
home:家目录,每存在一个用户就有一个文件夹
root:管理员的家目录
lib:库文件
media/mnt:挂在用的
opt:安装大型软件
proc:存在内存中,记录系统实时信息
sbin:只有超级用户才能执行的命令
temp: 安装临时用户
usr:一般软件
var:保存经常变化的信息,如日志

系统常用命令:
date 显示时间
date -u 显示格林威治时间
date +%Y--%m--%d 格式化显示时间
date -s "20:20:20"	修改时间

cal 查看日历
uptime 查看系统启动时间
echo “jkkljk” 显示内容
cat my.txt 显示文件全部内容
head -n 15 my.txt 显示文本前几行,默认为10行
tail -n 15 my.txt 显示文本尾几行,默认为10行
tail -f my.txt 查看追加信息
more my.txt 带下翻页的查看,空格翻页
less my.txt  带上下翻页的查看,q退出

lspci 查看硬件信息
lspci -v 显示更详细的信息
lsusb 查看usb信息
lsmod 查看已加载的模块(驱动)

shutdown -h 关机
shutdown -r 重启
shutdown -h now
shutdown -h +10
shutdown -h 23:30
shutdown -r now 立即重启

poweroff 立即关闭计算机
reboot 立即重启计算机


文件操作及vim

ip mydoc.zip  mydoc 压缩文件
unzip XX 解压缩

gzip 压缩文件

tar -cvf 

归档文件
tar -cvf mybackup.tar mydoc

解归档
tar -xvf mybackup.tar

归档并压缩
tar -cvzf backup.tar.gz /etc

查找文件,文件夹,建立在数据库的基础上
locate XXX
如果新建的文件没有显示的话,就要手动更新数据库
sudo updatedb

高级查找文件
find

当前目录以名字查找
find . -name *bb*
find . -name *.config

按权限查找
find / -perm 777

按类型查找,返回所有目录
find / -type d

将前一个命令的结果作为后一个命令的参数
find . -name "my*" -exec ls -l {} \;

根据用户
find -user zhang

vim文本编辑器:
vim 启动编辑器

命令模式下:
i 光标前插入
o 当前行下面插入一行
dd 删除当前整行
u 撤销上一次操作
yy 复制当前行
3yy 复制三行
p粘贴到光标后
r替换当前字符
/welcome 查找关键字,n切换

命令模式:
:w保存当前文本 :w 文件名
:q退出
:q!强制退出
:x 保存并退出
:set number 显示行号
:! 加系统命令
:sh 暂时切回切回命令行
ctrl d回到vim

插入模式
i

分区

fdisk分区工具:
显示当前磁盘信息
fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048     2099199     1048576   83  Linux
/dev/sda2         2099200    41943039    19921920   8e  Linux LVM

fdisk /dev/sdb 对sdb分区

Command (m for help): m                                //查看帮助
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): p								//打印分区表

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x70e91ed2

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n							//创建一个新分区
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p							//创建主分区
Partition number (1-4, default 1): 1			//分区号
First sector (2048-16777215, default 2048): 	//磁盘开始位置
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-16777215, default 16777215): +2G	//磁盘结束位置,可以直接写大小
Partition 1 of type Linux and of size 2 GiB is set

Command (m for help): P

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x70e91ed2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux

Command (m for help): N					//再次创建拓展分区
Partition type:
   p   primary (1 primary, 0 extended, 3 free)
   e   extended
Select (default p): E
Partition number (2-4, default 2): 2
First sector (4196352-16777215, default 4196352): 
Using default value 4196352
Last sector, +sectors or +size{K,M,G} (4196352-16777215, default 16777215): 
Using default value 16777215
Partition 2 of type Extended and of size 6 GiB is set

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x70e91ed2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    16777215     6290432    5  Extended

主分区(系统分区)+拓展分区(逻辑分区)
Command (m for help): n
Partition type:
   p   primary (1 primary, 1 extended, 2 free)
   l   logical (numbered from 5)
Select (default p): l
Adding logical partition 5					//逻辑分区从5开始
First sector (4198400-16777215, default 4198400): 
Using default value 4198400
Last sector, +sectors or +size{K,M,G} (4198400-16777215, default 16777215): +2g
Unsupported suffix: 'g'.
Supported: 10^N: KB (KiloByte), MB (MegaByte), GB (GigaByte)
            2^N: K  (KibiByte), M  (MebiByte), G  (GibiByte)
Last sector, +sectors or +size{K,M,G} (4198400-16777215, default 16777215): +2G
Partition 5 of type Linux and of size 2 GiB is set

Command (m for help): p

Disk /dev/sdb: 8589 MB, 8589934592 bytes, 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x70e91ed2

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048     4196351     2097152   83  Linux
/dev/sdb2         4196352    16777215     6290432    5  Extended
/dev/sdb5         4198400     8392703     2097152   83  Linux

Command (m for help): m
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition
   g   create a new empty GPT partition table
   G   create an IRIX (SGI) partition table
   l   list known partition types
   m   print this menu
   n   add a new partition
   o   create a new empty DOS partition table
   p   print the partition table
   q   quit without saving changes
   s   create a new empty Sun disklabel
   t   change a partition's system id
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit
   x   extra functionality (experts only)

Command (m for help): t						//改变分区的系统id,id代表了分区的类型
Partition number (1,2,5, default 5): 1
Hex code (type L to list all codes): L

 0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
 1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 hidden C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux extended  c7  Syrinx         
 5  Extended        41  PPC PReP Boot   86  NTFS volume set da  Non-FS data    
 6  FAT16           42  SFS             87  NTFS volume set db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux plaintext de  Dell Utility   
 8  AIX             4e  QNX4.x 2nd part 8e  Linux LVM       df  BootIt         
 9  AIX bootable    4f  QNX4.x 3rd part 93  Amoeba          e1  DOS access     
 a  OS/2 Boot Manag 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O        
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor      
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad hi eb  BeOS fs        
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT            
 f  W95 Ext'd (LBA) 54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor      
12  Compaq diagnost 5c  Priam Edisk     a9  NetBSD          f4  SpeedStor      
14  Hidden FAT16 <3 61  SpeedStor       ab  Darwin boot     f2  DOS secondary  
16  Hidden FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS    
17  Hidden HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE 
18  AST SmartSleep  65  Novell Netware  b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 70  DiskSecure Mult bb  Boot Wizard hid fe  LANstep        
1c  Hidden W95 FAT3 75  PC/IX           be  Solaris boot    ff  BBT            
1e  Hidden W95 FAT1 80  Old Minix      
Hex code (type L to list all codes): 83
Changed type of partition 'Linux' to 'Linux'

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
[root@localhost ~]# ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb5
[root@localhost ~]# partprobe
Warning: Unable to open /dev/sr0 read-write (Read-only file system).  /dev/sr0 has been opened read-only.
[root@localhost ~]# ls /dev/sdb*
/dev/sdb  /dev/sdb1  /dev/sdb2  /dev/sdb5

[root@localhost ~]# cat /proc/partitions 			//查看系统实时信息
major minor  #blocks  name

   2        0          4 fd0
   8        0   20971520 sda
   8        1    1048576 sda1
   8        2   19921920 sda2
   8       16    8388608 sdb
   8       17    2097152 sdb1
   8       18          1 sdb2
   8       21    2097152 sdb5
  11        0    4277248 sr0
 253        0   17821696 dm-0
 253        1    2097152 dm-1

 
 此时分区为裸分区,必须创建文件系统后才能使用
 文件系统:
 创建文件系统,ext4文件系统 加目标分区
 mke2fs -t ext4 /dev/sdb1
 
 为分区打上标签
 e2label /dev/sdb1 LINUXCAST
 
 查看标签:
 e2label /dev/sdb1
 
 检查文件系统:
 fsck /dev/sdb1

 
 系统挂载管理:(相当于拔插优盘)
 将sdb1分区挂在到 /mnt/目录下
mount /dev/sdb1 /mnt/
查看所有挂载好的系统:
mount
mnt/ 目录的作用:
挂接光驱、USB设备的目录,加载后,会在mnt里多出相应设备的目录。mnt是mount的缩写

卸载已挂载的文件系统:
umount /dev/sda1 或 umount /mnt

查看哪些进程占用该系统:
fuser -m /mnt

查看文件系统打开了哪些文件:
losf /mnt/

配置文件自动挂载:
进入到/etc/fstab
增加一条
/dev/sdb1		/mnt			ext4	defaults	0 0

然后reboot重启

获取帮助

获取帮助
ls --help
Usage: ls [OPTION]... [FILE]... 方括号可选

man ls

查看包括关键字的文档
man -k passwd
man ls然后/加关键字查找

info ls
帮助文档在cd /usr/share/doc路径下

用户和组的概念:
root用户:id为0
系统用户:1~499
普通用户:500以上

用户信息:
/etc/passwd
用户密码:
/etc/shadwow
用户组:
/etc/group

创建新用户和密码:
useradd zhang2
passwd zhang2

修改用户信息:
usermod -l zhang2修改用户名
usermod -u 777   修改用户ID	


删除用户
userdel zhang2 仅删除用户,不删除家目录
userdel -r zhang2 直接删除

网络

解析域名
host www.baidu.com
dig www.linuxcast.net

查看路由表
 ip route
追踪路由
traceroute www.linuxcast.net
查看网络质量
mtr www.linuxcast.net

故障排查
IP地址
子网掩码
网关
DNS

ping 网关IP地址

查看DNS解析是否正常
host www.kldd.com

管道与重定向

命令行shell的信息流:
stdin标准输入
stdout标准输出
stderr标准错误

管道和重定向:
重定向到outfile文件,以覆盖模式
echo "ddd" >outfile
追加形式:
echo "ddd" >>outfile
显示标准错误:
ls -ld www.linuxcast.net 2>outfile
二者结合
ls -ld www.linuxcast.net 2>&1outfile

管道,将一个命令的标准输出成为另一个的标准输入
ls -l | grep hh
find / -user zhang 2> /dev/null | grep video 
重定向输出错误,然后将标准输出作为输入

在系统文件中查找关键字
[root@localhost ~]# grep zhang /etc/passwd
zhang:x:1000:1000:zhang:/home/zhang:/bin/bash

grep参数:
-i  不区分大小写
-n	显示行数
-v 	输出不包含关键字的,取反
-Ax 输出结果行后指定几行
-Bx	输出结果行前指定几行

基于列的文本处理
以:分割行,只显示切割后的第三列
 cut -d: -f1 /etc/passwd
 
与管道结合
grep zhang /etc/passwd |cut -d: -f3

只显示第1-3 列的字符
cut -c1-3 /etc/passwd

统计文件信息
wc hh

只统计行
wc -l hh

只统计单词
wc -w hh

对文本排序:
按每一行首字母排序
sort hh

sort -r hh 倒序

sort -u hh 剔除重复项

sort -n 基于数字排序

sort -f 忽略大小写

删除重复行

sort -u
uniq

比较两文件
diff XX XXX
-b 忽略空格数量

-u 显示同一比较信息,一般生成patch文件

aspell拼写检查

删除指定文字
tr -d "zhang" < hh

搜索替换,g参数全局替换
seed 's/linux/unix/g' hh

系统启动

系统启动:
BIOS检查硬件并且查找可启动设备
可移动设备USB\CDROM\HD

执行可移动设备引导代码,MBR的前446字节


单用户模式root登入,不需要密码,使用passwd修改密码

RAM软件包管理以及YUM软件管理

源代码基本编译流程:
1 ./configure 
2 make	
3 make install

RPM:redhet package manager,将源代码编译为可执行文件,并保存依赖关系

RPM软件命名规范:
linuxcast-1.2.0-30.el6.i686.rpm
软件名 版本号 平台

RPM基础命令:
安装软件
rpm -i software.rpm

卸载
rpm -e software 

升级形式安装,root模式
rpm -U software-new.rpm

rpm支持通过http,ftp协议安装软件

rpm -ivh http://www.linuxcast.net//
-v 显示详细信息
-h 显示进度条
rpm -qi firefox  软件详细信息
rpm -ql firefox  软件所包含文件
rpm -qf XXX		 文件所属那个安装包

查询未安装文件,参数后加p
-qip
-qlp

验证软件
rpm -K software.rpm

查看文件有没有被修改
rpm -V XXX

yum软件包:
自动解决依赖关系,基于rpm组安装
yum仓库可以使本地的,也可以是网络的
仓库位置:
cd /etc/yum.repos.d/


[c7-media]	//软件名
name=CentOS-$releasever - Media  //仓库名
baseurl=file:///media/CentOS/    //仓库路径
        file:///media/cdrom/	 
        file:///media/cdrecorder/
gpgcheck=1						 //签名操作
enabled=0						//禁用仓库
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

安装软件
yum install software-name

卸载
yum remove XXXX

查询
yum search keyword

yum info packagename

yum list (all/installed)

建立YUM仓库:
1 系统建立文件夹linuxcast-yum
2 把rpm包放入文件夹
3 rpm手工安装createrepo
4 运行createrepo . 创建索引文件
5 添加配置repos仓库文件

清除所有缓存
yum clean all