
- 目录 *** 作【增,删,改,查】
- 创建目录【增】 mkdir
- 删除目录或文件【删】rm
- 目录修改/移动【改】mv 和 cp
- 搜索目录【查】find
- 文件 *** 作命令 【增,删,改,查】
- 新建文件【增】touch
- 删除文件 【删】 rm
- 修改文件【改】 vi或vim
- 文件的查看【查】 cat
- 权限修改
- 压缩文件 *** 作
- 打包和压缩
- 解压
- 查找命令
- grep
- find
- 用户切换
- su
- sudo
- 网络通信命令
- 防火墙
- 进程 (java)
- shell脚本:
- 查内存溢出,进程内存占用大
- 服务器情况
- uptime 负载情况
- top [参数]
命令:mkdir 目录
mkdir aaa 在当前目录下创建一个名为aaa的目录
mkdir /usr/aaa 在指定目录下创建一个名为aaa的目录
实用:
创建文件夹: mkdir -p filedata/tadata/{market,input,response,output,request}
层级创建: filedata/tadata/ 然后建五个文件夹
删除目录或文件【删】rm
命令:rm [-rf] 目录 删除文件: rm 文件 删除当前目录下的文件 rm -f 文件 删除当前目录的的文件(不询问) 删除目录: rm -r aaa 递归删除当前目录下的aaa目录 rm -rf aaa 递归删除当前目录下的aaa目录(不询问) 全部删除: rm -rf * 将当前目录下的所有目录和文件全部删除 rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全不文件目录修改/移动【改】mv 和 cp
一、重命名目录
命令:mv 当前目录 新目录
例如:mv aaa bbb 将目录aaa改为bbb
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的 *** 作
二、剪切目录
命令:mv 目录名称 目录的新位置
示例:将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 mv /usr/tmp/aaa /usr
注意:mv语法不仅可以对目录进行剪切 *** 作,对文件和压缩包等都可执行剪切 *** 作
三、拷贝目录
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:将/usr/tmp目录下的aaa目录复制到 /usr目录下面 cp /usr/tmp/aaa /usr
注意:cp命令不仅可以拷贝目录还可以拷贝文件,压缩包等,拷贝文件和压缩包时不用写-r递归
搜索目录【查】find
命令:find 目录 参数 文件名称 示例:find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件文件 *** 作命令 【增,删,改,查】 新建文件【增】touch
命令:touch 文件名 示例:在当前目录创建一个名为aa.txt的文件 touch aa.txt删除文件 【删】 rm
命令:rm -rf 文件名修改文件【改】 vi或vim
【vi编辑器的3种模式】
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
1) 命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i o a
【5】进入底行模式::
2) 编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式;
3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
4)设置编码格式
set ff : 可以看到dos或unix的字样. 换行编码格式
:set ff=unix 把它强制为unix格式. windows环境写的脚本,放到linux环境要更改
打开文件
命令:vi 文件名
示例:打开当前目录下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式。
编辑文件
使用vi编辑器打开文件后点击按键:i ,a或者o即可进入编辑模式。
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入
保存或者取消编辑
保存文件:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq 保存并退出编辑
取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑
文件的查看【查】 cat
文件的查看命令:cat/more/less/tail cat:看最后一屏 示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容 cat sudo.conf more:百分比显示 示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看 more sudo.conf less:翻页查看 示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 less sudo.conf tail:指定行数或者动态查看 示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束 tail -10 sudo.conf权限修改
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限
421 421 421
- rw- --- ---
命令:chmod +x aaa.txt
或者采用8421法
命令:chmod 100 aaa.txt
修改所属权限
chown -R 用户名:分组 文件夹或文件名 (递归执行)
chown -R server:server start.sh
压缩文件 *** 作
打包和压缩
Windows的压缩文件的扩展名 .zip/.rar linux中的打包文件:aa.tar linux中的压缩文件:bb.gz linux中打包并压缩的文件:.tar.gz Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。 而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。 命令:tar -zcvf 打包压缩后的文件名 要打包的文件 其中:z:调用gzip压缩命令进行压缩 c:打包文件 v:显示运行过程 f:指定文件名 示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar tar -zcvf ab.tar aa.txt bb.txt 或:tar -zcvf ab.tar *解压
命令:tar [-zxvf] 压缩文件 其中:x:代表解压 示例:将/usr/tmp 下的ab.tar解压到当前目录下 示例:将/usr/tmp 下的ab.tar解压到根目录/usr下 tar -xvf ab.tar -C /usr------C代表指定解压的位置 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ——————————————— .gz 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName ——————————————— .tar.gz 和 .tgz 解压:tar zxvf FileName.tar.gz 压缩:tar zcvf FileName.tar.gz DirName ——————————————— .bz2 解压1:bzip2 -d FileName.bz2 解压2:bunzip2 FileName.bz2 压缩: bzip2 -z FileName ——————————————— .tar.bz2 解压:tar jxvf FileName.tar.bz2 压缩:tar jcvf FileName.tar.bz2 DirName ——————————————— .bz 解压1:bzip2 -d FileName.bz 解压2:bunzip2 FileName.bz ——————————————— .tar.bz 解压:tar jxvf FileName.tar.bz ——————————————— .Z 解压:uncompress FileName.Z 压缩:compress FileName ——————————————— .tar.Z 解压:tar Zxvf FileName.tar.Z 压缩:tar Zcvf FileName.tar.Z DirName ——————————————— .zip 解压:unzip FileName.zip 压缩:zip FileName.zip DirName ——————————————— .rar 解压:rar x FileName.rar 压缩:rar a FileName.rar DirName ——————————————— .lha 解压:lha -e FileName.lha 压缩:lha -a FileName.lha FileName ——————————————— .rpm 解包:rpm2cpio FileName.rpm | cpio -div ——————————————— .deb 解包:ar p FileName.deb data.tar.gz | tar zxf - ——————————————— .tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea 解压:sEx x FileName.* 压缩:sEx a FileName.* FileName sEx只是调用相关程序,本身并无压缩、解压功能,请注意! gzip 命令 减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。 语法:gzip [选项] 压缩(解压缩)的文件名该命令的各选项含义如下: -c 将输出写到标准输出上,并保留原有文件。-d 将压缩文件解压。-l 对每个压缩文件,显示下列字段: 压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名字-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。-t 测试,检查压缩文件是否完整。-v 对每一个压缩和解压的文件,显示文件名和压缩比。-num 用指定的数字 num 调整压缩的速度,-1 或 --fast 表示最快压缩方法(低压缩比),-9 或--best表示最慢压缩方法(高压缩比)。系统缺省值为 6。指令实例: gzip *% 把当前目录下的每个文件压缩成 .gz 文件。gzip -dv *% 把当前目录下每个压缩的文件解压,并列出详细的信息。gzip -l *% 详细显示例1中每个压缩的文件的信息,并不解压。gzip usr.tar% 压缩 tar 备份文件 usr.tar,此时压缩文件的扩展名为.tar.gz。查找命令 grep
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep sshd -c 查找指定进程个数
find
find命令在目录结构中搜索文件,并对搜索结果执行指定的 *** 作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
使用实例:
find . -name "*.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600 查找/root/目录下权限为600的文件
find . -type f -name "*.log" 查找当目录,以.log结尾的普通文件
find . -type d | sort 查找当前所有目录并排序
find . -size +100M 查找当前目录大于100M的文件
用户切换
su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su test:切换到test用户,但是路径还是/root目录
su - test : 切换到test用户,路径变成了/home/test
su : 切换到root用户,但是路径还是原来的路径
su - : 切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit
sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
进入sudo配置文件命令:
vi /etc/sudoer或者visudo
案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop ALL=(ALL) ALL
案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。
配置文件中:
hadoop ALL=NOPASSWD: /bin/ls, /bin/cat
网络通信命令
ifconfig:查看网卡信息 命令:ifconfig 或 ifconfig | more ping:查看与某台机器的连接情况 命令:ping ip netstat -an:查看当前系统端口 命令:netstat -an 搜索指定端口 命令:netstat -an | grep 8080防火墙
关闭防火墙命令:systemctl stop firewalld.service
开启防火墙:systemctl start firewalld.service
关闭开机自启动:systemctl disable firewalld.service
开启开机启动:systemctl enable firewalld.service
防火墙启端口:
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
进程 (java)
ps -ef | grep java | grep -v grep
(是在列出的进程中去除含有关键字"grep"的进程)
使用awk分割结果,获取PID
awk '{print }'
ps -ef | grep java | grep -v grep | awk '{print }'
杀死进程 kill -9 PID ****删除所有的java进程
xargs 作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题
ps -ef | grep java | grep -v grep | awk '{print }' | xargs kill -9
是用jar包运行的进程,需要kill掉的话
jps -l | grep 'test.jar' | grep -v grep | awk '{print }' | xargs kill -9
有时发现jar运行的进程杀不死,很可能是僵尸进程,需要把父进程杀掉
cat /proc/$(jps | grep 'jar' | awk '{print }' |awk 'NR==1{print}')/status | grep 'PPid' | awk '{print }' | xargs kill -9
shell脚本:
sh -x: 例sh -x 脚本的名字 能看清脚本的详情.查内存溢出,进程内存占用大
1. 病号是谁?(WHO) 第一步:采用 top 命令,找出 CPU 占用最高的病号 PID ; 第二步:通过 ps -ef | grep PID 查看病号对应的真实身份。 2. 病号哪里出了问题?(WHERe) 第一步:采用 jstack -l PID >> PID.log 获取病号的各器官信息的病历单; 第二步:采用 top -Hp PID 拿到占用 CPU 最高的器官昵称 PID ; 第三步:采用 printf "%xn" PID 根据器官昵称 PID 的拿到器官真实身份 TID ; 第四步:采用 grep TID -A20 pid.log 根据 TID 去病历单中匹配,确定是哪出了问题。 3. 捉得病根、便可拿出医药箱,对症下药啦。(HOW)服务器情况 uptime 负载情况
该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载。
top [参数]top命令包含更多的指标统计,相当于一个综合命令。显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
命令参数: -b 批处理 -c 显示完整的治命令 -I 忽略失效过程 -s 保密模式 -S 累积模式 -i<时间> 设置间隔时间 -u<用户名> 指定用户名 -p<进程号> 指定进程 -n<次数> 循环显示的次数
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)