mkdir-p /a/b/c
-l#列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等
-d#只查看目录
-F#会在不同类型的文件后面加上*/=>@|等符号,以便区分不同类型文件
-p#会在目录后面加上/,以便区分目录和文件
-h#人类可读模式,显示K、M、G
-i#显示inode,也就是文件的index number
-r#依相反次序排列,–reverse
-R#列出所有子目录层, –recursive
-t#按修改时间进行文件的排序,-modificationtime
-s#在每个文件的后面打印出文件的大小,-size
-a#列出文件下所有的文件,包括以“.“开头的隐藏文件
-A#列出除了"."和".."以外的文件。
--color=auto #添加颜色
--time-style=STYLE#style值可选full-iso,long-iso(最优), iso, locale
ll --time-style=long-iso install.log (显示效果最好)
-rw-r--r--. 1 root root 62057 2017-01-14 14:32install.log
ll --time-style=full-iso install.log
-rw-r--r--. 1 root root 62057 2017-01-1414:32:36.206994569 +0800 install.log
ll --time-style=iso install.log
-rw-r--r--. 1 root root 62057 01-14 14:32 install.log
ll --time-style=locale install.log
-rw-r--r--. 1 root root 62057 Jan 14 14:32 install.log
~表示家目录,
-表示上一次的目录
cd~
cd/tep/fq
cd/root
cd- # 回到/tep/fq
pwd
-n : 不换行输出
-e : 激活转义字符\,可以使用以下转义字符
\a alert (BEL)
\b backspace
\c produce no further output
\e escape
\f form feed
\n new line #换行
\r carriage return
\t horizontal tab #水平tab键
\v vertical tab #垂直tab键
echo"abce"
echo -n'abcd';echo 'efg'
echo -e"hello\tworld"
hello world
echo -e"hello\nworld"
hello
world
echo -e "hello\vworld"
hello
world
echo `date +%F`
echo $(date +%F)
:set nu 显示行号
settabstop=4 一个tab为4个空格长度
set ai 设置自动缩进
syntax on 高亮
dd 删除当前行
yy 复制当前行
p 粘贴
行号gg 定位到指定行号
G 切换到文件尾
gg 切换到文件首
^或0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
cat/etc/hosts
cat-n /etc/hosts #显示行号
cat>>a.txt< ... EOF cpa.txt /tmp/ cp-r a /tmp #将目录a拷贝到tmp cp-a a /tmp #-a = -dpr mva.txt /tmp mva.txt b.txt #将a.txt改为b.txt -f强制删除文件 -r递归删除文件或目录 -fr删除指定的目录和文件 rm-fr /tmp/* -n行数 head-n 500 a.txt head-500 a.txt -n行数,显示文件后几行,默认10行; -f跟踪文件结尾变化,如果文件被删除后重建,不会显示新的变化 -F跟踪文件结尾变化,会尝试重新连接文件,如果文件被删除后重建,会显示新的变化 tail-n 500 a.txt tail-500 a.txt 类似命令:tailf。 tailf相当于tail -f,类似于tail -f,严格说来应该与tail –follow=name更相似些。 与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以省电,并减少了磁盘访问 可以在/etc/profile、/etc/bashrc中配置全局别名。在用户家目录.bashrc配置用户别名 alias grep='grep --color=auto' cata.txt | tac whichntpdate /usr/sbin/ntpdate -typef 按类型(f:文件 d:目录) -namefilename 按文件名 -perm 按权限查找 -mtime 按修改时间, +n表示n天前,-n表示最近的n天,n表示第n天 -prune 忽略某个目录,如查没有-depth参数,则-prune则有效,并表示不深入到目录里面。(难以理解,见下面练习题第二关中的说明) -mindepth 限定搜索指定目录的最小深度 -maxdepth 限定搜索指定目录的最大深度 ! 排除 -o 或,等于-or -and 并且,条件之件默认为-and find/ -type -f -name aaa #查找文件名为aaa的文件 find. -maxdepth 1 -type d ! -name "." #只查找1层,类型是目录,目录名不含有.的目录 find/bin -type f -perm 4755 -exec ls -l {}\; #查找有特殊权限的命令 -d 显示目录 -L 要显示层级 tree/ tree-L 1 / : 只显示一层结构 find /tmp -typef -name aa | xargs rm –fr find ./ -type f -print0| xargs -0 md5sum >> md5_rc1.txt 后一种是适用于文件名含有空格的文件。通常xargs用于隔断文件是默认为:空格、TAB、换行符等,-print0则是以NULL隔断文件,xargs -0 就是以NULL来区分文件隔断。 -c<指令>或--command=<指令>:执行完指定的指令后,即恢复原来的身份 -f或——fast:适用于csh与tsch,使shell不用去读取启动文件 -或-l或——login:改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname。此外,也会变更PATH变量 -m,-p或--preserve-environment:变更身份时,不要变更环境变量 -s或--shell=:指定要执行的shell --help:显示帮助 --version;显示版本信息。 su - root sudouseradd kkk rpm-ivh :安装 rpm-e :卸载 rpm-e --nodeps :不考虑依赖,强行卸载 whereis-b mkdir mkdir:/bin/mkdir -a: -r: -m: uname-a shutdown-r now : 重启 shutdown-h now : 关机 lsb_release-a 硬链接:源文件与目标文件的inode号码相同,都指向同一个inode ln 源文件 目标文件 软链接:相当于windows中的快捷方式 ln -s 源文件 目标文件 ln -s /abc/def/ghi/jk/ /tmp/jk/ 可以通过readlink 软链接名,来查看软链接信息 -L, --dereference #follow links -Z, --context #print the SELinux security context -f, --file-system #display file system status instead of file status -c --format=FORMAT #格式化输出 -t, --terse #print the information in terse form The valid format sequences for files (without --file-system): %a Access rights in octal(八进制权限644) %A Access rights in humanreadable form(人类可读模式rw-r--r--) %b Number of blocks allocated(see %B)(取stat信息中的Blocks: 后面的值) %B The size in bytes of eachblock reported by %b %C SELinux security contextstring %d Device number in decimal %D Device number in hex %f Raw mode in hex %F File type %g Group ID of owner %G Group name of owner stat install.log File: `install.log' Size: 62057 Blocks: 136 IO Block: 4096 regular file Device: 803h/2051d Inode:391683 Links: 1 Access: (0644/-rw-r--r--) Uid:( 0/ root) Gid: ( 0/ root) Access: 2017-01-01 23:32:26.238999717 +0800 Modify: 2017-01-02 00:00:41.324999404 +0800 Change: 2017-01-02 00:01:11.062999379 +0800 stat -c %B etiantian 512 stat -c %d etiantian 1792 stat -c %G etiantian root df -hi -a 全部文件系统列表 -h 方便阅读方式显示 -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024 -i 显示inode信息 -k 区块为1024字节 -l 只显示本地文件系统 -m 区块为1048576字节 --no-sync 忽略 sync 命令 -P 输出格式为POSIX --sync 在取得磁盘信息前,先执行sync命令 -T 文件系统类型 选择参数: --block-size=<区块大小>指定区块大小 -t<文件系统类型> 只显示选定文件系统的磁盘信息 -x<文件系统类型> 不显示选定文件系统的磁盘信息 --help 显示帮助信息 --version 显示版本信息 -N #显示行号 less a.txt less -N a.txt source/etc/sysconfig/i18n 或 . /etc/sysconfig/i18n [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--program|-p] netstat-lntup netstat-an lsof -c abc 显示abc进程现在打开的文件 COMMAND:进程的名称 PID:进程标识符 USER:进程所有者 FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等 TYPE:文件类型,如DIR、REG等 DEVICE:指定磁盘的名称 SIZE:文件的大小 NODE:索引节点(文件在磁盘上的标识) NAME:打开文件的确切名称 lsof -i :port :查看端口情况 lsof-i :22 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 2776 root 3u IPv4 16724 0t0 TCP *:ssh (LISTEN) sshd 2776 root 4u IPv6 16730 0t0 TCP *:ssh (LISTEN) sshd 23312 root 3r IPv4 3417749 0t0 TCP LS-B:ssh->127.0.0.1:patrolview(ESTABLISHED) crontab--操作每个用户的守护程序和执行的时间表。 crontabfile [-u user]--用指定的文件替代目前的crontab。 crontab- [-u user]--用标准输入替代目前的crontab。 crontab-l [user]--列出用户目前的crontab。 crontab-e [user]--编辑用户目前 的crontab 。 crontab-d [user]--删除用户目前 的crontab 。 crontab-c dir --指定crontab的目录。 crontab文件的格式:M H D m d cmd M:分钟(0-59) H:小时(0-23) D:天(1-31) m:月份(1-12) d:一星期内的天(0-6,0为星期天) history-d 9 #删除指定行号的历史记录 history-c #删除所有历史记录 可以通过配置HISTCONTROL=ignorespace环境变量来指定history命令不记录敏感操作。如: 一般情况会显示: history -c mysql -uroot -p123456 histroy mysql -uroot -p123456 history 使用HISTCONTROL history -c HISTCONTROL=ignorespace mysql -uroot -p123456 histroy HISTCONTROL=ignorespace history seq-s "," -f "t%01g" 1 5 -s :使用分隔符 "," :分隔符为了英文逗号 -f :格式化 %01g:1位浮点数 结果 :t1,t2,t3,t4,t5 chkconfig-–list #列出所有的系统服务 chkconfig-–add httpd #增加httpd服务 chkconfig-–del httpd #删除httpd服务 chkconfig-–level httpd 2345on #设置httpd在运行级别为2、3、4、5的情况下都是on(开启)的状态 chkconfig-–list #列出系统所有的服务启动情况 chkconfig-–list mysqld #列出mysqld服务设置情况 chkconfig-–level 35 mysqldon #设定mysqld在等级3和5为开机运行服务,–level 35表示操作只在等级3和5执行,on表示启动,off表示关闭 chkconfigmysqld on #设定mysqld在各等级为on,“各等级”包括2、3、4、5等级 参数: -c:只输出匹配行的计数。 -i:不区分大小写(只适用于单字符)。 -h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:排除,显示不包含匹配文本的所有行。 -e: 或的意思,可使用多个条件 -E: 使用多个条件,相当于多个-e,需加双引号 --color=auto #添加颜色 grep -E 相当于egrep 示例: grep 'test' d* # 显示所有以d开头的文件中包含 test的行。 grep 'test' aa bb cc #显示在aa,bb,cc文件中匹配test的行。 grep linuxtechi /etc/passwd: #在/etc/passwd文件中查找单词"linuxtechi" grep -e EST -e WAIT /netstat.log #在netstat.log中查找包含EST或WAIT的行 grep -E "EST|WAIT" /netstat.log #在netstat.log中查找包含EST或WAIT的行 grep -v ^# /etc/ssh/sshd_config #过滤文件/etc/ssh/sshd_config中所有的注释 grep -Ev "^#|^$"/etc/ssh/sshd_config #过滤文件/etc/ssh/sshd_config中所有的注释和空行8、cp : -apr 拷贝文件或目录
9、mv : 移动文件或目录,也可改名(rename命令)
10、rm : 删除文件
11、rmdir : 删除空目录
12、head : 显示文件前几行,默认10行
13、tail : 监控文件的变化
14、alias : 显示设置的别名,ualias取消别名
15、tac : 反转内容输出(cat反写)
16、which : 查看命令所在的路径
17、find : 查找命令,
18、tree : 查看目录结构
19、xargs:用于把其它命令的输出交给后面的命令处理
20、whoami : 查看当前命令行终端用户
21、w : 查看当前登陆的用户和做什么
22、su:切换用户
参数:
示例:
23、sudo :让普通用户可以拥有指定的root权限功能,需root用户提前授权
24、rpm : 软件安装命令
25、whereis: locate thebinary, source, and manual page files for a command
26、uname : 查看系统版本
27、halt:关机 (init 0)
28、reboot 重启(init 6)
29、shutdown
30、lsb_release:显示系统版本
31、lastlog : 查看用户是否登录过
32、last : 查看最后登陆过的用户列表
33、file : 查看文件类型
34、ln : 创建链接文件
35、stat : 查看文件信息
参数:
示例:
36、df : 检查linux服务器的文件系统的磁盘空间占用情况
37、less : 是对文件或其它输出进行分页显示的工具(按屏显示,可以前滚(向下),也可回退(向上))
38、more:是对文件或其它输出进行分页显示的工具(按屏显示,可以前滚(向下),但不能回退(向上))
39、man : 查看命令及配置文件的帮助
40、touch :创建文件或修改文件时间戳
41、env : 显示当前用户的环境变量
42、source : 读取和执行配置文件
43、netstat : 查看网络状态
44、lsof :列出当前系统打开文件的工具(list open files)
参数:
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
46 --> IPv4 or IPv6
protocol --> TCP or UDP
hostname --> Internet host name
hostaddr --> IPv4地址
service --> /etc/service中的 service name (可以不止一个)
port --> 端口号 (可以不止一个)输出各列信息的意义
示例:
45、crontab命令
46、history
47、seq:打印序列
48、chkconfig
49、grep(三剑客之三)