1. chown [-R] 账号名称:组名 文件或目录
chown root:root install.log
chown .root install.log #单纯的修改用户组
2. 向PATH中加入新路径
PATH="$PATH":/root
PATH=${PATH}:/root
PATH=$PATH:/root
3. 利用cp建立软链接与硬链接
cp -l bashrc bashrc_hlink
cp -s bashrc bashrc_slink
4. cat与nl显示文本文件
cat -b /etc/yum.repos.d/rhel-source.repo #列出行号,仅针对非空白行
cat -n /etc/yum.repos.d/rhel-source.repo #列出行号,连同空白行
nl /etc/yum.repos.d/rhel-source.repo #默认对空白行不加行号
5. less显示文本
/字符串 #向下查询“字符串”
?字符串 #向上查询“字符串”
n #重复前一个查询
N #反向重复前一个查询
6. which、whereis、locate
which [-a] command #将所有由PATH目录中可以找到的命令全列出,而不止第一个被找到的命令
whereis ifconfig #寻找特定文件,利用数据库来查找数据
locate ifconfig #寻找特殊文件,将能找到的都列出来,首次运行前需要先执行updatedb
7. 主分区与扩展分区最多有4个,扩展分区最多只能有1个,逻辑分区是由扩展分区持续分出来的分区
8. dumpe2fs [-bh] 设备文件名
dumpe2fs -h /dev/sda1 #仅列出superblock的数据,不会列出其他区段的内容
7. 目录树读取
通过挂载信息找到挂载点inode号->根目录inode内容->根目录block->目录inode->目录block->文件inode->文件block
8. df -haT #列出所有文件系统以及对应的文件系统名称
9. du [-sSh] 文件或目录名称
du -sh /etc/yum.repos.d #列出总量,而不列出每个个别的目录占用容量
du -Sh /etc/yum.repos.d #以子目录为单位,包括子目录的子目录,显示目录下的文件的大小,如果有嵌套目录,则不计嵌套目录的大小
10. ln -s 源文件 目标文件 #-s为软链接,不加任何参数为硬链接
11. mount -a #依照/etc/fstab的数据将所有未挂载的磁盘都挂载上
/etc/filesystems #系统指定的测试挂载文件系统类型
/etc/filesystems #Linux系统已经加载的文件系统类型
/lib/modules/$(uname -r)/kernel/fs #Linux支持的文件系统驱动程序
mount -t vfat -o iocharset=cp950 /dev/sda1 /mnt/flash #挂载U盘,iocharset指定语系,中文语系是cp950
12. e2label 设备名称 新的Label名称
dumpe2fs -h /dev/sda1 #查看卷标信息
e2label /dev/sda1 "my_test" #设置为新的label
dumpe2fs -h /dev/sda1 #查看卷标是否修改成功
13. tune2fs [jlL] 设备代号
tune2fs -l /dev/sda1 #查看卷标信息,类似dumpe2fs -h /dev/sda1
tune2fs -L /dev/sda1 "my_test" #类似e2label,修改文件系统的Label
14. /etc/fstab说明
/repo/iso/rhel-6.5.iso /repo/rhel iso9660 loop 0 0
设备文件名或Label 挂载点 分区格式 文件系统参数 能否dump、是否fsck检验扇区
15. dd if=/dev/zero of=/software/rhel.img bs=1M count=20000
16. tar [jz][tcx]vf 文件
tar jcvf filename.tar.bz2 待压缩文件或目录 #通过bzip2进行压缩
tar zcvf filename.tar.gz 待压缩文件或目录 #通过gzip进行压缩
tar jxvf filename.tar.bz2 待解压文件或目录 #通过bzip2进行解压
tar zxvf filename.tar.gz 待解压文件或目录 #通过gzip进行解压
tar jtvf filename.tar.bz2 #查看bzip2压缩文件内容
tar ztvf filename.tar.gz #查看gzip压缩文件内容
tar zxvf filename.tar.gz -C /tmp #指定解压缩目录
tar jcvf filename.tar.bz2 --exclude=/home/a --exclude=/etc/b* /etc /home #打包某目录,但不包含指定文件
17. 用env查看环境变量;用set查看所有变量
18. 整个系统默认的语系定义在/etc/sysconfig/i18n
locale -a #linux支持的语系
19. read [-pt] variable
read -p "Please enter your name: " -t 30 named #-p加入提示信息,-t指定等待秒数
echo $named
20. declare -i sum=1+2+3 #指定sum为整数类型
declare -x variable #将variable设置为环境变量,类似export
declare -r sum #将sum设置为只读
21. /etc/profile->/~/.bash_profile->~/.bash_rc->/etc/bashrc
22. cut -d ‘分隔符’ -f fields
echo $PATH | cut -d ':' -f 3,5
export | cut -c 12- #取出固定字符区间
23. grep [-irnv] '字符串'
'^$'代表空白行
grep -v '^$' /etc/syslog.conf | grep -v '^#' #不要空白行,不要开头是‘#’的行
24. sort [-fbMnrtuk] 文件或标准输入
sort默认以第一个数据来排序,以“文字”类型来排序;-f:忽略大小写;-b:忽略最前面的空格符;-n:使用纯数字排序;-r:反向排序;-u:uniq;-t:指定分隔符,默认是Tab键;-k:指定field
cat /etc/passwd | sort -t ':' -k 3 #指定分隔符是‘:’, 并以第三个区域来排序
cat /etc/passwd | sort -t ':' -k 3 -n #指定以数字来排序
last | cut -d ' ' -f1 | sort
25. uniq [-ic] #-i忽略大小写, -c进行计数
last | cut -d ' ' -f 1 | sort | uniq -c
26. wc [-lwm] #-l仅列出行,-w列出单词数,-m列出字符数
last | grep [a-zA-Z] | grep -v 'wtmp' | wc -l
27. tr [-ds] string #-d删除信息中的string字符串;tr用于删除一段信息中的文字,或进行文字替换
last | tr '[a-z]' '[A-Z]'
cat /etc/passwd | tr -d ':'
28. test -s filename #检测该文件名是否存在且为非空白文件
test -z string #判断字符串是否为0, 若string为空,则返回true
test -n string #判断字符串是否为非0,若string不为空,则返回true
-a and,-o or,!非
29. $#代表后接的参数个数,不包括文件名
$@代表“$1”、"$2"、“$3”之意,每个变量是独立的
$*代表“$1c$2c$3”,c为分隔符,默认为空格,一般情况下使用$@
30. test可以利用-a、-o,也可以利用&&、||;而if [条件判断]后只能用&&、||;意思是[]内可以用-a、-o,[]间只能用&&、||
40. for var in con1 con2 con3 ...
for i in $(seq 1 100)
for((i=1; i<=$num; i=i+1))
41. sh [-nvx] scripts.sh #-n不执行仅查询语法错误;-v执行前先打印;-x将使用到的script内容显示到屏幕上