切换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 立即重启计算机
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修改密码
源代码基本编译流程:
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