首页 > 代码库 > Linux 常用命令

Linux 常用命令

Originally by: 于俊杰

 

Join  
   
   
   
 Join a1.txt a2.txtinner join by the first column
   
 join -a1 a1.txt a2.txtleft join by the first column
   
   
 join -a1 -1 1 -2 3 a1.txt a2.txtleft join by the first column in first file, and third col in the third column
   
   
   
   
mkdir  
 mkdir -p ./a1/a2/a3/a4/a6mamke dirs in all the specified places 
   
   
   
alias  
 alias work="cd ~/data"~/.bashrc; ~/.bash_profile
   
   
   
   
?mkdir & cd 
 function mkdircd () { mkdir -p "$@" && eval cd "\"\$$#\""; }
   
   
   
cd -在最近访问的两个目录间转换 
   
   
sshssh -V显示ssh版本
   
  ssh -l junjie.yjj 10.242.94.1 
   
   
grep  
 grep junjie /etc/passwd文件下查找所有含有“junjie” 的行并全部显示出来
 grep -v junjie /etc/passwd参数-v会显示出所有不包含匹配文本的内
 grep -c junjie /etc/passwd显示了在“/etc/password/”下含有“junjie”的行的总数
 grep -cv junjie /etc/passwd显示了在“/etc/password/”下不含有“junjie”的行的总数
 grep -i junjie /etc/passwd查找时忽略大小写
 grep -r junjie /home/users在所有的子目录下执行相应的查找
 grep -rl junjie /home/users利用参数‘l‘, 只显示文件名
   
   
find  
   
 find /etc -name "*mail*"找在文件名中含有指定关键字的文件;查找在“/etc”目录下所有文件名中含有“mail”的文件
 find / -type f -size +100M列出系统中所有大于100M的文件
 find . -mtime +60列出在当前目录下在最近60天没有被修改过文件
 find . -mtime -2列出在当前目录下在最近2天被修改过文件
   
   
   
2> /dev/null 
 cat a.txt 2>/dev/null用“2>/dev/null”禁止错误输出
   
   
   
   
trtr a-z A-Z < employee.txt将文件中小写字母转化成大写字母
 tr A-Z a-z < employee.txt小写字母 --> 大写字母
   
xargs可以取一个命令的输出作为另一个命令的参数
   
 cat url-list.txt | xargs wget -c 
 find ~ -name "*.conf*" | xargs ls -l
 find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz
   
   
tar压缩  
  tar -zcvf filename.tar.gz filename 
   
 解压 
   
 tar -zxvf filename.tar.gz 
sortsort name.txt文本升序排列
 sort -r name.txt文本降序排列
   
 sort -t: -k 2 name.txt以: 为分隔符的,第二列为key进行排序
 sort -t: -u -k 3 name.txt排序且去掉重复项
   
 sort -t . -k 1,1n -k 2,2n -k 3,3n -k 4,4n /etc/hosts基于ip地址进行排序
   
ls -al | sort +4n使用升序对ls -al的输出以文件大小进行排序(第5项)
 ls -al | sort +4nr使用降序对ls -al的输出以文件大小进行排序(第5项)
   
   
uniq  
 sort name.txt | uniqsort -u name.txt  #equalient
 sort name.txt | uniq -c去除重复,同时进行计数
 sort name.txt | uniq -cd紧显示有重复项的记录&其计数
   
cut显示一个文本文件中特定的列或者其它命令的输出
 cut -d: -f 1 names.txt取冒号分割的文件中的第一列
 cut -d: -f 1,3 names.txt取冒号分割的文件中的第一&第三列
 cut -c 1-8 names.txt去文件中每行前八个字符
   
stat显示一个文件或目录的属性 
 stat /etc/my.conf查看文件属性
 stat -f /查看系统属性
   
   
diff比较两个文件并显示差异 
 diff -w names.txt names2.txtw: 忽略空白
   
   
ac显示用户的连接时间 
 ac -d 显示当前用户,在不同时间(天)上的连接时间长度
 ac -p 显示所有用户,今天的已连接时间长度
 ac -d junjie.yjj显示用户不同时间上的连接时间长度
   
   
PS1默认提示符 
 export PS1="\u@\h \w>"add this to bashrc or bash_profile
  \u 用户名
  \h 主机名
  \w 当前完整工作目录
   
PS2多行命令默认连接符 (>) 
 addsfs  cont\ 
 >inue 
   
PS3 PS4skip 
   
   
   
PROMPT_COMMAND 
 环境变量 
 Bash在显示PS1之前先执行PROMPT_COMMAND定义的内容
   
 export PROMPT_COMMAND = "date +%k:%m:%S"22:08:42
   
   
   
zipzip log-files.zip /var/log/*压缩多个文件
 zip -r log-files.zip /var/log/*递归的压缩一个目录及目录下的文件
   
 unzip -v log-files.zipv查看解压缩过程中的详细信息
 unzip -l log-files.zipl在不解压缩的情况下,查看其中的文件
   
   
 zip -6 log-files.zip /var/log/*0-9 压缩程度,数值越大,压缩程度越大; 默认为6
   
 zip -P password log-file.zip /var/log/*设置压缩密码
 zip -e log-files.zip交互式设置压缩密码(相对于上面的明文方法)
 zip -t log-files.zip显示文档的完整性;及其包含的内容
   
tar (tape archive) 
 tar 【选项】 【档案文件名】 【需要归档的文件】
   
 tar cvf /tmp/my_home_directory.tar /home/junjie.yjj
  c:创建档案文件
  v:verbose模式,即在命令执行过程中显示更多信息
  f:在命令中之处归档文件名
   
 tar tvf /tmp/my_home_directory.tar查看归档文件中包含哪些文件
   
 tar xvf /tmp/my_home_dirctory.tarx:从归档文件中提取所有文件
   
 tar xvfz /tmp/my_home_dirctory.tar.gz -C home/junjie.yjj
  将tar.gz文件解压到制定文件
   
   
tar中使用gzip 
 tar cvfz /tmp/my_home_directory.tar.gz /home/junjie.yjj/创建tar.gz
 tar xvfz /tmp/my_home_directory.tar.gz
 tar tvfz /tmp/my_home_directory.tar.gz
   
tar中使用bzip2 
   
 tar cvfz /tmp/my_home_directory.tar.bz2 /home/junjie.yjj/创建tar.bz2
 tar xvfz /tmp/my_home_directory.tar.bz2
 tar tvfz /tmp/my_home_directory.tar.bz2
   
 gzip 要比bzip2快 
   
ctrl + r(R) 
 搜索含有关键字的历史命令ctrl + r (R ) + keyword
   
   
source环境变量设置 
 source ~/.bash_profile用户环境变量设置
 source .在当前shell下执行脚本
   
   
cd  
 cd -进入上次的路径
   
   
cp  
 cp -r SourceDir TargetDir递归拷贝文件夹下的文件
   
   
touch  
 touch filename新建文件
   
ln  
 ln -s SourceFile TargetFile创建软链接,相当于快捷方式
   
 ln -s  /home/junjie.yjj/data/buy/ buy
wwho显示当前登录的用户
last 显示历史登录的用户
   
   
   
   
yum  
 yum list | grep company查看当前提供的公司的包
   
 yum install *.rpm安装某个包
   
 yum remobe *.rpm删除某个包
   
   
进程管理  
   
ps  
 ps aux查看所有进程信息
 ps -ef pid查看某个进程的详细信息
 pstree查看进程树
   
kill  
 kill pid杀死某一进程
 kill -9 pid强制杀死某一进程
   
   
top 查看当前系统的进程占用资源信息,试试刷新
   
nohup cmd &后台执行,且当前shell退出时,不结束任务
   
   
susu junjie.yjj切换到junjie.yjj
   
   
 su切换到root用户
 su - 切换到root用户
 su root切换到root用户
   
   
rz 将windows 的文件传到linux
   
szsz filename将linux文件传到本地
   
   
   
光标移动  
 ctrl + a光标移到命令行开始
 ctrl + e光标移到命令行结尾
 ctrl + r从命令历史中找
 ctrl + l‘=clear 清屏
   
   
wc  
 wc -l统计行数