常用命令
切换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