常用命令
- 切换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,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,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,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,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,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,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,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重启
获取帮助
网络
- 解析域名
- 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
系统启动
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