查询命令具体介绍:man/info 命令
计算器:bc 进行加减乘除操作
时间:date cal
Tab键:补全命令或名称
Ctrl+C:中断
Ctrl+d:结束,退出 exit
开关机:
将数据同步写入硬盘中的指令: sync
惯用的关机指令: shutdown
重新开机,关机: reboot, halt, poweroff
查看某个用户下进程状态:ps -ef | grep aiapp
在root用户下操作:
新建用户:useradd
useradd -d /yaya/ suavity
useradd -d /home/wenya wenya
passwd [-d不需要密码]suavity
pwd: yaya
删除用户:userdel
userdel suavity
新建组:groupadd
groupadd yaya
删除组: groupdel
groupdel yaya
修改用户信息:usermod
将suavity用户下的组改为yaya:
usermod -g yaya suavity
suavity用户主组是suavity,附加组是yaya,root
usermod -g suavity -G root,yaya suavity
修改组信息:groupmod
将yaya组改名为dj: groupmod -n dj yaya
当前用户下操作:
查看当前用户所属的所有组:groups
切换用户组:newgrp
将当前用户切换到root用户组:newgrp root
赋权给普通用户 root权限
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
suavity ALL=(ALL) ALL
属性、权限、组:
-rw-r--r-- 1 root root 203373 12月 11 2014 filename
[ 属性 ] [连结][拥有者] [群组] [档案容量] [ 修改日期 ] [ 檔名 ]
属性: 读[r]read-4 写[w]write-2 执行[x]execute-1
- rw- r-- r--
1. - :[文件类型]
当为[ d ]则是目录,例如上表的第 11 行;
当为[ - ]则是档案,例如上表的第 5 行;
若是[ l ]则表示为连结档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备;
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标。
2. rw- :[文件所属者对该文件的权限]
3. r-- :[文件所属组对该文件的权限]
4. r-- :[其他用户对该文件的权限]
赋权:user,group,others
对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。
chgrp : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt
chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt
同时改变拥有者和所属群组 chown suavity:yaya dj.txt
chmod :改变档案的属性、SUID【4r+2w+1x=7】
a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。
b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。
c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。
chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。
umask: 查看预设权限 umask -S
umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】
查看磁盘空间:du --help df --help
df -h /etc
du -sm /etc/*
文件操作:
目录和文件相关命令:echo 打印/显示 echo $变量名
1. 转目录:cd .. 到根目录:cd ~ cd . cd -
2. 显示当前目录: pwd [-P]
3. 创建目录: mkdir [-m 赋权 711 ] tmp mkdir [-p 递归创建目录] tmp1/tmp2/tmp3
4. 删除目录/文件:
删空目录:rmdir [-p 递归删空目录] tmp1/tmp2/tmp3
删目录下的所有内容: rm -rf tmpFile
5. 显示当前目录下的文件:ls -lrt
6. 复制:cp
复制目录:cp -a srcD/ destD/
复制文件:cp -i src dest
7.移动:mv
将src1,src2移动到dest目录下:mv src1 src2... dest
更名/移动:mv src1 dest
8.更名:rename srcName destName
9.获取目录名/文件名:dirname [path]/basename [path]
操作文件:
cat: 由第一行开始显示档案内容,显示所有,大文件最好不要用这个命令 cat [-AnT] fileName
tac : 从最后一行开始显示,可以看出 tac 是 cat 的倒着写 tac fileName
nl : 显示的时候,顺道输出行号 nl [-bnw] fileName eg: nl -b [t/a] fileName
more: 一页一页的显示档案内容 more fileName
空格键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』; n向下继续搜索
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该档案内容。
less 与 more 类似,但是比 more 更好的是,可以往前翻页 less fileName
空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字符串 :向下搜寻『字符串』的功能;
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!) 向上搜寻
q :离开 less 这个程序;
head : 只看头几行 head -n 100 filename(显示100行,文件终止)
tail : 只看尾巴几行:
tail-n 100 filename(显示100行,文件终止)
tail -100f filename(显示100行,文件不终止,实时跟日志)
head和tail结合使用: head -n 20 filename | tail -n 10 (显示第11行到20行)
od: 以二进制的方式读取档案内容 od -t c 二进制文件或数据文件
touch : 建立文件 touch filename
目录与文件权限操作:
赋权:user,group,others
对于目录:其他人或所属群组拥有读r的权限,但不能进入文件目录,需赋给x执行权限才能进入。
chgrp : 改变档案所属组【群组名称在 /etc/group 里面】 chgrp yaya dj.txt
chown :改变档案所属人 【在/etc/passwd里面】chown suavity dj.txt
同时改变拥有者和所属群组 chown suavity:yaya dj.txt
chmod :改变档案的属性、SUID【4r+2w+1x=7】
a.数字赋权:chmod 777 fileName :赋给拥有者,所属群组,其他人读写执行的权限。
b.字母赋权:chmod u=rwx,g=rwx,o=rwx fileName:赋给拥有者,所属群组,其他人读写执行的权限。
c.符号赋权:chmod a+w fileName:赋给拥有者,所属群组,其他人执行的权限。
chmod a-r fileName:收回拥有者,所属群组,其他人读的权限。
umask: 查看预设权限 umask -S
umask 036 : 去掉所属群组的【写和执行wx权限】,去掉其他用户或群组的【读和写rw权限】
指定某文件不可删除:chattr +i /home/wenya/suavity/yeah.txt 去掉该权限:chattr -i /home/wenya/suavity/yeah.txt
查看文件类型:file [fileName]
查看文件属性:lsattr [pathName]
搜索文件:
搜索可执行的命令所在路径:which 命令[-a查出所有匹配的文件名,否则只显示第一个] (一般是bin目录下的可执行命令)
搜索【文件名/目录名】完整的文件或目录所在路径:
whereis [-bmsu] 文件或目录名 【完整的文件名或目录(可忽略文件名后缀)】
搜索【文件名/目录名】关键字所属的文件或目录所在路径:
locate 模糊的文件或目录名 【匹配文件名】【eg: locate passw 会展示所有包含passw关键字的文件和目录】
搜索:find [路径] [选项] [关键字/参数]
find /home -user aiapp :搜索/home 下 属于aiapp用户的所有文件
find / -nouser :搜索不属于任何用户的文件
find / -name passwd:搜索系统中文件或目录名为passwd的所有路径
find / -size +1000k:搜索系统中文件大小大于1MB的所有文件【find / -size +8000k -exec ls -l {} \;】
find / -type f -perm +7000 -print :搜索有sgid/suid/sbit属性的所有文件
压缩指令:compress/bzip2/bzcat/gzip/zcat/tar
compress:[*.Z]
压缩:compress [-c] /home/fileName [ > /aiapp/otherName.Z]
解压:compress -d fileName.Z
bzip2/bzcat:[*.bz2]
压缩:bzip2 [-9] [-c] /home/fileName [ > /aiapp/otherName.bz2] bizp -z fileName
解压:bzip2 -d otherName.bz2 bzcat otherName.bz2
gzip/zcat: [*.gz,*.Z]
压缩:gzip [-9] [-c] /home/fileName [ > /aiapp/otherName.gz]
解压:gzip -d otherName.gz zcat otherName.gz
tar:[*.tar] [*.tar.gz]
压缩:tar -cvf dest/filename.tar etc/ 不压缩某个目录或文件:tar--exclude etc/passwd-cvf dest/filename.tar etc/
tar -zcvf dest/filename.tar.gz etc/
tar -jcvf dest/filename.bz2 etc/
解压:tar -xvf dest/filename.tar 解开某个目录: tar -xvf dest/filename.tar etc/passwd
tar -zxvf dest/filename.tar.gz
tar -jxvf dest/filename.bz2
查看:tar -tvf dest/filename.tar
tar ztvf dest/filename.tar.gz
tar jtvf dest/filename.bz2
其他命令:
别名:alias [command] 取消:unalias [command]
查看历史指令: history
查看当前用户:whoami / who am i
查看命令类型:type 命令
设置变量: myname="wenya" 查看:echo $myname
通过键盘输入: read 变量名
[wenya@vm-test-014 ~ 15:58 #19]$read test
this is a test.
[wenya@vm-test-014 ~ 16:01 #20]$echo $test
执行指令(非单引号):`command` eg:ls -l `locate crontab`
查看环境变量: env
查看所有变量: set/declare
查看PS1特殊符号意义: man bash 然后查找关键字: /PS1
设定PS1: PS1='[\u@\H \w \A #\#]\$'
[wenya@vm-test-014 ~]$ PS1='[\u@\H \w \A #\#]\$'
[wenya@vm-test-014 ~ 15:43 #13]$
查看正在执行的shell的pid: echo $$
查看上一个指令执行返回值:echo $?
查看支持的语系: locale -a
定义变量的属性:declare [-aixr] 变量名
数据流重导向:
1. 标准输入(stdin) :代码为 0 ,使用 < 或 << ;
2. 标准输出(stdout):代码为 1 ,使用 > 或 >> ;
3. 标准错误输出(stderr):代码为 2 ,使用 2> 或 2>> ;
分别重导向正确和错误信息:
[wenya@vm-test-014 ~ 17:09 #39]$find /home -name testing > right 2> error
错误信息丢入垃圾桶:
[wenya@vm-test-014 ~ 17:14 #43]$find /home -name testing >right 2>/dev/null
双向重导向: tee [-a] fileName :
last | tee -a ~/listing.log | cut -d ' ' -f1 | sort -u
last | cut -d ' ' -f1 | sort -u | tee -a ~/listing.log | more
命令执行的判断依据: ;,&&, ||
;按顺序执行指令
&&前一个指令执行成功再执行后一个指令,否则不执行后一个
||前一个指令执行失败再执行后一个指令,否则不执行后一个
合用:
command1 && command2 || command3
管道命令:【|】
撷取命令:【cut,grep】(以行撷取)
cut:将一段讯息的某一段给『切』出来
echo $PATH | cut -d ':' -f 3,5
export | cut -c 10-12
grep:grep [-acinv] '关键字' 文件名 last | grep -v root grep -i 'wenya' 0781.log
grep -in 'w[en]ya' 0781.log [表示一个字符e或n]
grep -in '[^a-z]ya' 0781.log [^a-z表示不包含小写字母]
排序:sort,uniq,wc
sort:cat /etc/passwd | sort -t ':' -k 3 -n
last | cut -d ' ' -f1 | grep -v root | sort -u
uniq:
localhost.localdomain-aiquery%last | cut -d ' ' -f1 | grep -v root | sort | uniq -c
1
29 aiprod
401 aiquery
108 aisec
1 wtmp
wc:统计 wc [-l行w字数m字符数]
localhost.localdomain-aiquery%cat /etc/man.config | wc
152 765 4940
行 字数 字符数
字符转换命令:
tr:转换或删除 last |tr '[a-z]' '[A-Z]'cat /etc/passwd |tr -d ':'
col:把tab键转换为空格 cat /etc/man.config |col -x| cat -A | more
expand:自动将 [tab] 转成空格键 grep '^MANPATH' /etc/man.config | head -n 3 |expand -t 6 -|cat -A
join:处理两个相关的文档(两个档案当中,有 "相同数据" 的那一行,将他加在一起)
join -t ':' /etc/passwd /etc/shadow
join -t ':' -1 4/etc/passwd-2 3/etc/group
paste:将两个文件同行粘贴在一起
paste/etc/passwd /etc/shadow
cat /etc/group |paste/etc/passwd /etc/shadow-| head -n 3
split:分割
ls -al |split -l 10 -lsroot
xagrs:参数代换 xargs [0epn] 指令 ???
test :测试
id: 查用户的UID/GID
su [-lcm] [username] :切换用户eg : su - wenya
sudo [-u [username|#uid]] 指令eg: sudo -u vbird touch /home/wenya/test sudo mkdir /root/testing
mail : 邮件