1.查看目录下有什么文件信息
1. ls //list查看当前目录下有什么文件
2. ls -l或ls ll //list -list 通过详细内容形式查看目录下的文件内容
3. ls 目录 //查看指定目录下文件名字信息
4. ls -l 目录 //以详细列表形式查看指定目录下文件名字信息
5. ls -a //list all 查看全部文件,包括隐藏文件
6. ls -al //list list all 以详细列表形式查看全部文件,包括隐藏文件
7. ls -i //查看目录下文件名字的索引号码
2.目录切换
1. cd 目录名字
2. cd.. //向上级目录切换
3. cd~ //快速切换回自己的家目录
3.查看当前操作位置
1. pwd
4.查看操作者信息(是谁在操作系统)
1. whoami
5.不同用户间的切换
1. su - //切换为root用户
2. su - root //效果同上
3. su 普通用户名称 //向普通用户切换
4. exit //当前用户退回到之前用户
su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用。
6.图形模式与命令模式进行切换
1. init 3 //图形 向 命令模式切换
2. init 5 //命令 向 图形模式切换
7.查看指令对应的可以执行程序文件位置
1. whic 指令
8.目录操作
- 创建目录 make directory
1. mkdir newdir
2. mkdir -p newdir/newdir/newdir //递归方式创建多级目录 newdir新目录
//多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数
3. mkdir dir/newdir
4. mkdir dir/dir/newdir
5. mkdir -p dir/newdir/newdir
- 移动(改名字)目录 move (目录/文件 都可以操作)
1. mv dir1 dir2 //dir1移动到dir2目录下,并给改名字为"原名"
2. mv dir1 dir2/newdir //dir1移动到dir2目录下,并给改名字为newdir
3. mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并给改名字为"原名"
4. mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并给改名字为 newdir
5. mv dir1/dir2 ./ //dir2移动到 当前 目录下,并给改名字为"原名"
6. mv dir1/dir2 ./newdir //dir2移动到 当前 目录下,并给改名字为newdir
- 复制(改名字)目录 copy (目录/文件 都可以操作)
复制普通文件:
1. cp file1 dir1 //file1被复制到dir1目录下一份,并给改名字为“原名”
2. cp file1 dir1/newfile //file1被复制到dir1目录下一份,并给改名字为newfile
复制目录 -r 参数要求:
1. //recursive递归方式拷贝目录
2. cp -r dir1 dir2 //dir1被复制到dir2目录下一份,并给改名字为“原名”
3. cp -r dir1 dir2/newdir //dir1被复制到dir2目录下一份,并给改名字为newdir
4. cp -r dir1/dir2/dir3 dir4/dir5 //dir3被复制到dir5目录下一份,并给改名字为"原名"
- 删除 remove
1. rm filename //普通文件删除
2. rm -r dir //删除目录[无视层次]需要-r参数
3. rm -rf 文件 //recursive force 递归强制删除文件,
//force 避免删除隐藏文件的提示
4. rm -rf / //递归强制方式删除系统里边的全部内容
9.文件操作
- 查看文件内容
1. cat filename //在终端显示文件全部内容
2. more filename //通过"敲回车"方式从第一行逐行查看文件内容,不支持回看,q键退出查看
3. less filename //"上下左右"键方式查看文件各个部分内容,支持回看,q键退出查看
4. head -n filename //查看文件“前n行”内容
5. tail -n filename //查看文件“末尾n行”内容
6. wc filename //计算文件行数
- 创建文件
1. touch filename
2. touch dir/filename
- 追加内容(文件不存在会“自动”创建)
1. echo 内容 > filename //给文件“覆盖写”方式追加内容
2. echo 内容 >> filename //给文件纯追加内容
10.用户操作
user,配置文件/etc/passwd
- 创建 add
1. useradd username //创建用户会同时创建同名组
2. useradd -g 组编号 username //创建用户的同时设置组别
3. useradd -g 组编号 -u 用户编号 -d 家目录 username //创建用户同时,指定组别、用户编号、家目录
- 修改 modify
1. usermod -g gid username //修改组别是常见操作
2. usermod -g gid -u uid -d 家目录 -l newname username//修改组别、用户编号、家目录、名字
注意:
- 家目录修改后需要手动创建,不同于创建用户家目录设置
- 创建用户时设置家目录,该目录会自动创建
- 修改用户家目录时,该目录不会自动创建(需要手动创建)
- 删除 delete
1. userdel username //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除
2. userdel -r username //删除用户的同时也删除其“家目录”
11.组别操作
group,配置文件/etc/group
- 创建 add
1. groupadd groupname
- 修改 modify
1. groupmod -g gid -n newname groupname
- 删除 delete
1. groupdel 组名
注意:只有空组(内部没有用户信息)才允许删除
12.vi编辑器使用
- 命令模式-->编辑模式切换(插入/Insert)
1. a "光标" 向后移动一位
2. i "光标" 和 "内容" 没有变化
3. o "新"起一个空白行
4. s "删除"光标所在字符
- 尾行模式作用
1. :q quit退出编辑器
2. :wq write quit 保存并退出
3. :w write 保存
4. :q! 强制退出(不要保存)
5. :w! 强制写保存
6. :wq! 强制保存退出
7.
8. :set number 或 set nu //给编辑器设置行号
9. :set nonumber 或 set nonu //取消行号设置
10.
11. :数字 光标跳转到数字所在行
12. :/内容/ 或 /内容 //内容查找,小写n(next)下一个,大写N(next)上一个
13.
14. :s/cont1/cont2/ //把光标所在行的"第一个"cont1替换为cont2
15. :s/cont1/cont2/g //把光标"所在行"的全部cont1替换为cont2
16. :%s/cont1/cont2/g //把"整个文档"中的全部cont1替换为cont2
- 命令模式操作
① 光标移动
a.字符级
1. 上(k) 下(j) 左(h) 右(l) 键
b.单词级
1. w word下个单词首字母
2. e end下(本)个单词尾字母
3. b before上(本)个单词首字母
c.行级
1. $ 行尾
2. 0 行首
d.段落级(两部分内容中间有空行,彼此成为段落)
1. { 上(本)个段落首部
2. } 下(本)个段落尾部
e.屏幕级(不给翻屏)
1. H 屏幕首部
2. L 屏幕尾部
f.文档级
1. G 文档尾行
2. 1G 文档第一行
3. nG 文档第n行
② 内容删除
1. dd 删除光标所在行
2. n+dd 包括当前行在内向下删除n行内容
3. x 字符级删除,删除光标所在字符
4. cw 光标所在字符删除至单词结尾(是删除单词的便捷方式),同时会进入编辑模式
③ 内容复制
1. yy 复制光标所在行
2. n+yy 包括当前行在内向下复制n行内容
3. p 对复制(删除)好的内容进行粘贴操作
④ 便捷操作
1. u undo撤销,从文件打开后的所有操作都可以撤销
2. r 对单词字符进行替换
3. . 重复执行"最近"的一条指令
4. J 合并上下两行
13.权限设置
- "字母相对方式"设置权限
权限: r读 w写 x执行
用户: u主人 g同组 o其他组
chmod u+/-rwx, g+/-rwx, o+/-rwx 文件
说明:
不同用户通过",逗号"分隔
在同一个用户里边,+/-只能用“一个”
"rwx"在同一个用户里边可以设置一个或多个
"ugo" 每次权限操作可以设置一个或多个用户
1. chmod u+rw filename //主人增加读、写
2. chmod g-rx filename //同组删除读、执行
3. chmod u-w,g+x filename //主人删除写,同组增加执行
4. chmod o+w,o-x filename //其他组用户“增加写、删除执行”
- "数字绝对方式" 设置权限
权限类型:
0: 没有权限
1: 执行
2: 写
3: 写、执行
4: 读
5: 读、执行
6: 读、写
7: 读、写、执行
1. chmod ABC filename //ABC分别代表主人、同组、其他组用户权限
2. chmod 764 filename //主人读、写、执行, 同组读、写, 其他读
3. chmod 777 filename //满贯权限
4. chmod 000 filename //所有用户没有任何权限
字母和数字方式取舍:
权限修改的比较"少",就使用字母方式
权限修改的比较"多",就使用数字方式
14.在文件中查找指定内容
grep 内容 (绝对/相对路径)目标文件
1. grep sbin /etc/passwd //在passwd文件中查找sbin字样,
会把sbin所在行的内容都输出
15.查看文件占据磁盘空间大小
du -h 文件/目录
1. du -h 文件名称 //以k M的形式查看文件占据磁盘空间大小
16.文件查找
find 现值查找目录 选项 选项值 选项 选项值....
具体选项: 1)name 根据文件名字查找指定的文件
find 目录 -name 完整文件名称
1. find / -name passwd[完整名称] //"递归遍历"系统全部目录查找名字等于passwd的文件
2. find /etc -name passwd[完整名称] //递归遍历/etc及内部所有目录查找 名字等于passwd的文件
3.
4. find 目录 -name "an*"[部分名称] //模糊查找文件名字以an开始的
2)对查找的目录层次进行限制
-maxdepth 限制查找的最"深"层次 -mindepth 限制查找的最"浅"层次
1. find / -name passwd -mindepth 3 -maxdepth 4 //在3到4个层次的目录里边定位passwd文件
3)根据文件大小进行查找
size 单位
1. find ./ -size 50c //在当前目录下查找大小[等于]50个字节的文件
单位:
数量 | 单位 | 实际大小 |
---|---|---|
100 | 512字节 | 100*512字节 |
50c | 字节 | 50字节 |
50k | 千字节 | 50*1024字节 |
50M | 兆字节 | 5010241024字节 |
1. find ./ -size +50c //在当前目录下查找大小[大于]50个字节的文件
2. find ./ -size -50c //在当前目录下查找大小[小于]50个字节的文件
17.开关机指令
1. reboot //重启
2. poweroff //关机
18. 查看进程信息
在Linux系统“一切都是文件”的思想贯彻指导下,所有进程的运行状态都可以用文件来获取。系统根目录/proc中,每一个数字子目录的名字都是运行中的进程的PID,进入任一个进程目录,可通过其中文件或目录来观察进程的各项运行指标,例如task目录就是用来描述进程中线程的,因此也可以通过下面的方法获取某进程中运行中的线程数量(PID指的是进程ID):
ls /proc/PID/task | wc -l
19.TCP/IP监听
查看进程:ps -ef|grep [java、tomcat、weblogic]
查看某端口TCP连接占用数:netstat -pnt | grep :6666 |wc -l
查看某端口TCP连接占用信息:lsof -i :6666
查看当前TCP/IP连接状态以及数量:
netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
查看所有进程占用的文件句柄数:
lsof -n|awk '{print $2}'|sort|uniq -c |sort -nr|more
查看某进程所属服务:ps -aef|grep 24204
20. 端口抓包
tcpdump -i eth0 host 172.16.200.60 -w /tmp/ccb20171219.cap
21. 其他
在linux中还有一个命令pmap,来输出进程内存的状况,可以用来分析线程堆栈: pmap PID
通过ulimit -a来查看当前Linux系统的一些系统参数: ulimit -a
监控资源占用情况:top -H -p <pid>
网友评论