您的位置:首页 > 运维架构 > Linux

linux 常用命令总结

2016-04-15 23:00 465 查看
linux 一切事物皆文件 ,且并不识别文件后缀,文件后缀是为了让用户区分文件而加的。

常见压缩格式  .zip  .gz  .bz2  .tar.gz   .tar.bz2

linux 的zip 压缩和win 通用

zip  压缩文件名.zip   源文件          
   压缩源文件为zip 格式的压缩文件

zip   -r  压缩目录名.zip  源目录    压缩源目录为zip 格式的压缩文件

unzip  压缩文件                    
     解压缩

.gz

gzip  源文件                
   将源文件压缩为.gz 的压缩文件,压缩完源文件会消失

gzip -c  源文件 >  压缩文件名.gz(不常用)           将源文件压缩为.gz 的压缩文件,压缩完源文件保留 通过重定向实现

gzip -r 目录  
    压缩目录下的所有文件为一个个.gz 文件,但不压缩目录

gunzip   压缩文件                                                 解压缩

gzip -d   压缩文件
     解压缩

gunzip  -r  压缩目录文件
     解压目录下的所有压缩文件 

.bzip2(不能压缩目录)

bzip2   源文件
     压缩源文件为.bz2  格式,不保留源文件

bzip2   -k  源文件
     压缩之后保留源文件

bzip2 -d  解压缩 -k 保留压缩文件

bunzip2 解压缩 -k  保留压缩文件

.tar.gz 

tar  -cvf  打包后文件名.tar   源文件目录                    将源文件打包为.tar     -c 打包  -v显示过程  -f  指定打包后的文件名

打包后可以用bzip2  或者 gzip 的压缩格式 把文件压缩成 .tar.gz  格式和.tar.bz2 格式解决了文件目录不能压缩的问题。

tar -xvf    需要解包的文件名.tar                                  将.tar  解包

tar  -zcvf   需要压缩的目录名.tar.gz     压缩目录源文件                将源文件直接压缩为.tar.gz 格式

tar  -zcvf     /压缩后保存路径/需要压缩的目录名.tar.gz     压缩目录源文件1      压缩目录源文件1              

将多个源文件直接压缩为.tar.gz 格式并保存在指定路径

tar -zxvf   /文件路径/文件名.tar.gz  -C  /usr/local             # 解压.tar.gz文件到/usr/local中  如果不加-C 则解压在当前目录

tar -ztvf   /文件路径/文件名.tar.gz                                   # 查看压缩文件.tar.gz文件的压缩内容

.tar.bz2

tar  -jcvf   需要压缩的目录名.tar.bz2     压缩目录源文件                将源文件直接压缩为.tar.bz2 格式

tar  -jcvf     /压缩后保存路径/需要压缩的目录名.tar.bz2     压缩目录源文件1      压缩目录源文件1              

将多个源文件直接压缩为.tar.bz2 格式并保存在指定路径

tar -jxvf   /文件路径/文件名.tar.bz2  -C  /usr/local                          # 解压.tar.bz2文件到/usr/local中  

tar -jtvf   /文件路径/文件名.tar.bz2                                   # 查看压缩文件.tar.bz2文件的压缩内容

mkdir  目录名称     创建目录
touch   文件名称     创建文件

sudo useradd -m hadoop -s /bin/bash  创建新用户 

sudo adduser hadoop sudo  可为 hadoop 用户增加管理员权限

sudo chown -R hadoop:hadoop ./hadoop        # 修改文件权限

rm  -R  ./output  删除文件

rm  -Rf  ./output  删除文件夹

sudo mv 文件名  /文件目录         #移动文件

sudo mv ./hadoop-2.6.0/ ./hadoop      # 将文件夹名改为hadoop

将A目录里面的文件和文件夹等复制到B目录 怎么实现

cp -rf A/* B  

将本地文件(A:本地目录如 /opt/documert)复制到远端服务器(服务器地址192.168.0.101)的tmp 目录下

scp  -rp   A  root@192.168.0.101:/tmp

将远端(服务器地址192.168.0.101)tmp 目录下的文件复制到本地目录(A:本地目录如 /opt/documert)

scp  -rp    root@192.168.0.101:/tmp   A 

链接远端服务器(服务器地址192.168.0.101 输入命令后需要输入密码)

ssh@root 192.168.0.101 

source .bashrc  重新加载此文件 文件内容生效
cat  文件名   查看文件  
pwd  查看当前所在路径
编写脚本首先要写     #!/bin/bash     定义语言类型:
vi常用命令
Esc     进入命令模式
i在光标前输入文字,进入编辑模式
dd删除当前行
cc替换当前行
/abc 向前查找字符串abc                        然后输入n 继续查找下一个
?abc向后查找字符串abc 
然后输入n 继续查找下一个  
yy将光标所在行拷入剪贴板 
p将剪贴板的内容贴在光标处
:q不保存退出
:!q强制退出
:w保存
:wq保存后退出
  
执行脚本的方法

1  .Chmod 755 hello.sh 
    ./hello.sh
2.  Bash hello.sh 



什么是shell?

shell 是一个命令行解释器,它为用户提供了一个像LINUX内核发送请求一遍运行程序的界面系统级程序,用户可以用shell 来启动、挂起、停止甚至是编写一些程序。

shell 还是一个功能强他的编程语言,易编写,易调试灵活性强,shell是解释执行的脚本语言,在shell中可以直接调用LINUX 系统命令 

ps            查看系统中的进程

kill    i节点号    终止进程

kill%n                 n:用jobs查看到的进程号

&    
 程序在后台运行


nohup   程序执行命令    &>/dev/null   &         程序后台执行且执行返回的信息无论对错都直接删除    /dev/null 是linux 系统的黑洞

 在linux中命令执行顺序
 第一顺位执行用绝对路径或者相对路径执行的命令
第二顺位执行别名
第三顺位执行Bash的内部命令
第四顺位执行按照$PATH环境变领定义的目录查找顺序找到的第一个命令
常用一些快捷键
Ctrl+c 强制终止当前命令
Ctrl+l 清屏
Ctrl+a 光标移动到命令行首
Ctrl+e 光标移动到命令行尾
Ctrl+u 光标所在位置删除到行首
Ctrl+z 把命令放入后台
Ctrl+r 在历史命令中搜索
 
历史命令:
历史命令会默认保存1000条,可以在环境变量配置文件/etc/profile进行修改
使用上下箭头调用以前的历史命令
使用!n重复执行第n条历史命令
使用!! 重复执行上一条命令
使用!字串 重复执行最后一条以该字串开头的命令
输出重定向
错误输出 2 的两端不要有空格



 


find  和grep命令
find命令:在系统中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配。
find  /root(搜索文件夹) iname 文件名   不区分文件名大小写搜索
find /root –user root 按照所有者搜索
find /root –nouser   查找没有所有者的文件
find /var/log  -mtime +10  查找10天前修改的文件
                       -10 查找10天内修改的文件
                        10 查找10天前当天修改的文件
                       +10查找10天前修改的文件
                -atime文件访问时间
                -ctime改变文件属性
                -mtime修改文件内容
find  /var/log  -size 25k 查找文件大小是25kb的文件
                      -25k查找小于25kb的文件
                       +25k 查找大于25kb的文件
find  . inum 262422 查找i节点是262422的文件
find /etc –size +20k -a –size-50k  查找/etc/目录下,大于20k且小于50k的文件
-a  and 逻辑与,两个条件都满足
-o  or  逻辑或,两个条件满足一个即可
find /etc –size +20k –a  -size -50k–exec ls –lh{} \;
查找/etc下大于20k且小于50k的文件并显示详细信息
-exec 命令2  {} \; 对前一条命令的结果执行命令2
 
grep命令:在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,使用正则表达式时包含匹配
grep  "size"  文件名    在文件中查找包含“size”字符串的行
grep  -v   "size"  文件名    在文件中查找不包含“size”字符串的行  -v 取反

grep  -i   "size"  文件名    在文件中查找包含“size”字符串的行   i  忽略大小写

grep  支持正则表达式  包含匹配

alias  查看系统中所有命令别名

alias别名=’原命令’   设定命令别名 
例如alias vi=’vim’   设定vi为vim的别名 输入vi等同于vim的效果
vi ~/.bashrc  将别名写入环境变量配置文件    别名永久生效,否则别名只在本次启动中生效;
unalias 删除别名
 
echo输出
echo “直接输出需要显示的文本”
echo –e “\e[1;31m输出带颜色的需要显示的文本\e[0m”
带颜色的文本 要加–e  和开头\e[1;(注意是分号)31m还有结尾\e[0m
30m=黑色 ,31m=红色,32m=绿色 , 33m=黄色
34m=蓝色, 35m=洋红, 36m=青色,37m=白色
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: