liunx常用命令
liunx常用命令 liunx常见的发行版本有Ubuntu,CentOS,Debian等 我们使用的比较多的是Ubuntu和CentOS Ubuntu和CentOS对一般使用者来说,最大的不同是 Ubuntu安装软件命令为apt-get install * CentOS安装软件命令为yum install * 查看liunx是Ubuntu还是CentOS lsb_release -a 安装lsb_release yum -y install redhat-lsb 如下这些命令与发行版本无关 liunx创建用户 useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name -c:加上备注文字,备注文字保存在passwd的备注栏中 -d:指定用户登入时的主目录,替换系统默认值/home/<用户名> -D:变更预设值 -e:指定账号的失效日期,日期格式为MM/DD/YY,例如06/30/12。缺省表示永久有效 -f:指定在密码过期后多少天即关闭该账号。如果为0账号立即被停用;如果为-1则账号一直可用。默认值为-1 -g:指定用户所属的群组。值可以使组名也可以是GID。用户组必须已经存在的,期默认值为100,即users -G:指定用户所属的附加群组 -m:自动建立用户的登入目录 -M:不要自动建立用户的登入目录 -n:取消建立以用户名称为名的群组 -p:账户密码 -r:建立系统账 -s:指定用户登入后所使用的shell。默认值为/bin/bash -u:指定用户ID号。该值在系统中必须是唯一的。0~499默认保留给系统用户账号使用,所以该值必须大于499 ps:useradd xxxx passwd xxxx liunx命令中一定要深刻记忆的一条命令 sudo rm -rf /* //删除根目录下所有内容 查看liunx基本信息 cat /proc/version //查看linux版本 uname -a //查看内核版本 ulimit -n //单个进程所能打开的最大文件描述符数 hostnamectl status //查看主机名 hostnamectl status [--static|--transient|--pretty] //只查看静态、瞬态或灵活主机名,分别使用“--static”,“--transient”或“--pretty”选项 sudo hostnamectl set-hostname <host-name> //要同时修改所有三个主机名:静态、瞬态和灵活主机名 sudo hostnamectl [--static|--transient|--pretty] set-hostname <host-name> //如果只想修改特定的主机名(静态,瞬态或灵活),你可以使用“--static”,“--transient”或“--pretty”选项 创建文件夹 mkdir dir //创建目录dir(文件夹) mkdir -p /../../dir //创建目录树dir(文件夹dir及所有的父文件) 创建文件 vi file //创建文件file(文件名包括扩展名),命令(esc+:+wq)退出 删除 rm -rf dir //删除目录dir及其内容(文件夹dir及其内容) rm -f file //删除文件file,-f可省略 重命名或移动 mv dir1 dir2 //将文件(或目录)dir1移动并重命名为dir2 复制 cp -rf dir1 fir2 //复制文件(或目录)dir1到dir2 统计文件行数、字节数、字数 wc -c 统计字节数 -l 统计行数 -w 统计字数 file 查看文件夹下文件的个数 ls -l | grep "^-" | wc -l 查看文件夹下文件的个数,包括子文件夹中的 ls -lR | grep "^-" | wc -l 查看文件夹下文件夹的个数,包括子文件夹中的 ls -lR | grep "^d" | wc -l 杀死指定命令进程 kill `ps ax | grep "xxxxxxx" | grep -v grep | awk '{ print $1; }'` 其他 cd dir //进入目录dir cd .. //返回上级目录(cd ../.. 即为返回上两级目录) cd - //返回上次所在的目录 cd -- //返回/root(同 cd ~) pwd //显示当前路径 ls //查看目录中的文件(不显示隐藏文件) ls -a //显示包括隐藏文件在内的所有文件 ls -l //显示目录中文件的详细信息 ls -t //按照修改时间排列显示目录中的文件(建议配合l使用,ls -lt查看文件具体修改时间) cat file //查看文件file内容 cat file|head //查看文件file前10行内容(或head 10 file) cat file|tail -n 10 //查看文件file最后10行内容(或tail 10 file) tac file //反向查看文件内容(即从最后一行反向查看)(正好写法与表述都与cat相反) tail -f file //实时查看被添加到文件的内容 Ctrl + s //停止 Ctrl + q //继续 echo str >> file //在文件file末尾(最后一行下)添加str (文件file不存在时就创建file) echo str > file //用str覆盖file中的所有内容 (文件file不存在时就创建file) find dir -name "file" //查找在目录dir下所有文件名为file的文件,支持模糊查找(即*.pdf,*.txt等) grep //查找 grep str file //在file中查找str grep -r str dir //在目录dir下的所有文件及子文件中查找str grep -c str file //统计str在file中出现的行数 grep -5 'parttern' inputfile //打印匹配行的前后5行写入inputfile grep -C 5 'parttern' inputfile //打印匹配行的前后5行写入inputfile grep -A 5 'parttern' inputfile //打印匹配行的后5行写入inputfile grep -B 5 'parttern' inputfile //打印匹配行的前5行写入inputfile grep -Ff file1 file2 //打印file2中和file1中相同的行 grep -v str //排除str sed 替换或插入 sed 's/原字符串/替换字符串/' file //用替换字符串替换file中的原字符串 sed 's/^/添加的头部&/g' //在所有行首添加 sed 's/$/&添加的尾部/g' //在所有行末添加 sed '2s/原字符串/替换字符串/g' //替换第2行 sed '$s/原字符串/替换字符串/g' //替换最后一行 sed '2,5s/原字符串/替换字符串/g' //替换第2到第5行 sed '2,$s/原字符串/替换字符串/g' //替换第2到最后一行 lsof -n|awk '{print $2}'|sort|uniq -c|sort -nr|more //查看文件句柄个数 查看线程: cat /proc/${pid}/status //可以查看大致的情况 top -H -p pid //查看进程的所有线程(ps -T -p pid) sysctl //查看系统参数 -w //临时改变某个指定参数的值,如sysctl -w net.ipv4.ip_forward=1 -a //显示所有的系统参数 -p //从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载 查看JVM设置参数 jcmd pid VM.flags 查看gc状态 jstat -gc pid 1000 查看内存队列 jmap -histo pid | head -n 20 jmap -dump:format=b,file=/log/heapdump1.out pid xargs与-exec功能类似 find mnt/*/root/*.properties -type f |xargs grep -i "Mary" //在所有文件中检索字符串Mary shell 快捷键 Ctrl + a -- 跳到行首 Ctrl + e -- 跳到行尾 awk: cat /proc/partitions | grep "[hsrm].*[^0-9]$" | sort -k 1 -k 2 -k 4| head -n 2| tail -n 1|awk '{print $NF}' //获取硬盘盘符 cat test.txt |awk '{$1=""; $3=""; $4=""; print }' //第几列不要,其他列都要 cat top.txt | awk '{if(NR % 3 == 0){print $0}}' //只显示3的倍数行,其他行不显示 awk '{if(NR % 3 != 0){print $0}}' //删除3的倍数行 最后一列 $NF ,分离 -F ',' '(print $1)' cat file | sed -e "/rsyslogd was HUPed/d" //文件file中,包含"rsyslogd was HUPed"的行都显示 cat filename |sort |uniq //文件去重 统计文件行数、字数、字节数 wc -l 统计行数 -w 统计字数 -c 统计字节数 TCP/IP netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' //查看TCP状态 tcpdump -i eth0 host 172.16.15.38 and port 8055 -w out.cap //查看网卡eth0的tcp报文,并重定向到文件中 上传/下载 本地与远程服务器间 ftp 101.37.86.115 //连接指定host,要求输入用户名密码 sftp -P 40003 admin@120.55.21.42 //连接指定host的40003端口,以admin连接,要输入密码 get //下载 put //上传 服务器间 scp *.tmp 101.37.86.115:/root/deploy/kft/req //将当前目录下tmp后缀的文件上传到指定目录 scp root@10.20.2.232:/mnt/cosmetic-rest/*.* ./ //将指定目录的文件下载到当前路径 压缩/解压缩 tar -cvf jpg.tar *.jpg //压缩 tar -cvf jpg.tar 1.jpg 2.jpg 3.jpg //压缩 tar -xvf aaa.tar //解压 卸载 rpm -q -a //查看安装的软件包 rpm -e [package name] //卸载软件包 rpm -e [package name] --nodeps //忽略依赖 rpm -ql [package name] //查看安装位置 批量删除同名进程 kill -9 `ps -ef|grep xxxx|awk '{print $2}'` ps -ef|grep xxxx|awk '{print $2}'|xargs kill -9