zoukankan      html  css  js  c++  java
  • Linux常用命令

    Linux 文件与目录管理

    ls只列出文件名或目录名,就象windows里的列表

    ll列出来的结果详细,有时间,是否可读写等信息 ,像windows里的详细信息,“ll”是“ls -l"的别名

    使用ll 或者 ls -l 显示文件的属性 和文件所属用户和组
    drwx------. 5 root root   4096 Oct 18 10:02 .
    drwxr-xr-x. 6 root root   65 Jun  7  2016 ..
    -rw-------  1 root root  18377 Oct 18 10:18 .bash_history
    -rw-r--r--. 1 root root   18 Jul  8  2015 .bash_logout

    第一个字母表示文件类型,
    ”-”,普通文件.
    ”d”目录,字母”d”,是dirtectory(目录)的缩写.
    “l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息.
    “b”块设备文件。
    “c”字符设备文件。

    rwx r-x r-x
    三个一组分别是所有者权限、所有组权限、其他用户权限

    mkdir 创建文件夹
    mkdir -p xx/xxx 递归创建文件夹(xx不存在会创建) 
    mkdir -m 711 xxx 创建文件并自定义权限
    mkdir xx 不可以递归创建不存在的目录

    rmdir 删除空目录(如果目录不为空会报错)
    rmdir -p xx/xx 递归删除空目录  先删除 xxx 再删除xx 如果 存在目录不为空 会报错

    一般删除文件夹用rm -rf 文件夹

    rm 永久删除目录和文件
    -f 强制删除 删除时不询问
    -i 删除时询问
    -r 递归删除,主要用于删除目录

    touch 创建文件,如果文件存在将会修改文件的时间参数
    每个文件有三个时间参数
    访问时间 atime
    数据修改时间 mtime
    状态修改时间 ctime

    cp 复制文件和目录

    cp 源文件 目标目录 把源文件
    cp test xx/ll 复制test文件并改名为ll
    cp test xx/ 复制到xx目录下
    cp -r xx/sss/pp/ /tep/ 按层级复制
    cp -d  复制软连接文件
    cp -a

    mv 移动文件和目录 对文件和目录进行改名
    如果源文件和目标文件在同一个目录则 为改名

    tar 打包

    -c 将多个文件或目录打包
    -v  显示打包文件过程
    -f 包名  指定包名 要加上扩展名
    tar -cvf test.tar test/  #将test目录下的文件打包成test.tar 包名

    -x
    -f 指定要解压的tar包名
    -v 显示解打包的过程
    -C 解打包到指定目录
    tar -xvf test.tar  解test.war 包到当前目录
    tar -xvf test.tar -C temp/ 解test.war 包到temp目录下

    -z 压缩和解压缩的 '.tar.gz' -j 压缩和解压缩的 '.tar.bz2'

    tar -zcvf test.tar.gz temp/ 将temp目录下的文件打包压缩到test.tar.gz格式 tar -zxvf test.tar.gz -C temp/ 将压缩包解压到 temp 目录下

     

    zip 压缩命令

    zip test.zip test 将test 压缩到test.zip 中
    -r 递归压缩 文件和目录都压缩
    -m 压缩后删除原文件

    unzip 解压缩zip文件
    unzip test.zip
    unzip -d temp/ test.zip 将test.zip解压缩到temp目录下

    gzip 只可以压缩文件不可以压缩目录,压缩文件后缀为.gz
    gzip test.log 压缩test.log 文件 压缩后只保留压缩文件不保留源文件
    gzip -c test.log>test.log.gz
    gzip -d 压缩包  解压缩命令

    gunzip 通用解压缩命令
    zcat 纯文本文件 在不解压的情况下 查看文本

    bzip2 压缩或解压缩文件格式为".bz2" 用法同gzip

    vim 编辑文件三种模式  vim filename
    命令模式
    输入模式
    编辑模式
    vim test 进入命令模式,输入i,a,o 进入输入模式,按Esc键,回到命令模式
    vim test 进入命令模式,输入":" 进入编辑模式 按回车键结束

    退出
    :wq 末行模式,保存退出
    :q 末行模式,直接退出
    :q! 末行模式,不保存,强制退出

    命令行模式下
    :set nu #显示行号,在命令模式下输入后会在文本中每一行的开头标出行号。
    字符的替换(命令行模式)
    :%s/源字符/替换后字符     #每一行出现的第一个关键字
    :%s/源字符/替换后字符/g    #全文替换,s所有行,g表示所有列
    :3,5s/源字符/替换后字符/g  #替换第三行到第五行的关键字

    光标的移动
    :数字      #光标移动到指定的行
    gg       #光标移动到第一行
    <HOME>     #光标移动到行首
    <END>     #光标移动到行尾
    G        #光标移动到最后一行行首
    shift + 0  #光标移到最后一行行尾

    cat more tail head  查看命令
    cat 文件名       #查看文件
    cat -n 文件名     #查看文件,显示行号
    cat 1.txt 2.txt >3.txt #将两个文件合并输出到 第三个文件中
    more    #分页显示文本内容,只能向后翻看
    more 文件名
    more -10 -c 文件名  #以清屏方式 每次显示10行
    head 文件  #显示文件的开头十行
    head -n 20 文件 #显示头20行
    less   #查看,向前也可以向后翻看
    tail   #显示文件末尾内容
    tail -n 10 文件名  #显示文件最后十行
    tail -f 文件   #监听文件新增内容 ctrl+c #终止tail 命令

    grep 全面搜索正则表达式并把行打印出来

    -c 输出匹配行的计数
    -I 不区分大小写(只适用于单字符)
    -n : 顺便输出行号
    -v : 反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行
    --color=auto :可以将找到的关键词部分加上颜色的显示

    根据文件内容递归查找目录
    grep 'test' 文件名     #在文件内搜索带‘test’的行
    grep 'test' *        #在当前目录搜索带'test'行的文件 注意有字符串后面跟着*号
    grep -r 'test' *      #在当前目录及其子目录下搜索'test'行的文件
    grep -l -r 'test' *    #在当前目录及其子目录下搜索'test'行的文件,但是不显示匹配的行,只显示匹配的文件

     

    find 查找文件或文件夹
    find 目录 类型 -name
    find /目录  -type d -name 文件夹名  #按照类型查找文件夹
    find /temp -type f -name 文件名   #按照类型查找文件
    find /temp -size +20M(-20M)     #查找大于20M(小于20M)

    sed 命令是利用脚本来处理文本文件

    sed 's/Jack/Mark/' fin.txt   #把每一行中第一个Jack替换成 Mark,sed 命令一般是写在单引号内,引号内开头的s表示替换(substitute)
    sed 's/Jack/Mark/g' fin.txt   #替换每一行中所有匹配到的字符串,需加在命令末尾上选项g
    :上面的命令并不会修改文件fin.txt的内容,只是将文件中的每一行读入缓存,执行替换,然后输出到屏幕,文件内容并没有发生改变。如果希望直接修改文件内容,可加上选项“-i”
    sed -i 's/Jack/Mark/g' fin.txt   #直接修改文件,将每行所有的Jack都替换成Mark
    sed '2,3s/hello/hey/g' fin.txt   #将2~3行中所有的hello替换成hey,
    sed '2,3d' fin.txt      #删除2~3行
    sed '/Pony/d' fin.txt    #删除包含字符串 Pony 的行
    sed -i '2iwelcome' fin.txt   #2表示第二行,i表示在这一行前面添加一行,如果要在第二行后面添加一行,则用字母 a
    sed -i '/Pony/awelcome' fin.txt    #在匹配行的前面或者后面添加一行
    sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules`    #要将目录/modules下面所有文件中的zhangsan都修改成lisi
    -i 表示inplace edit,就地修改文件
    -r 表示搜索子目录
    -l 表示输出匹配的文件名

    
    

    chown 某用户 文件名 #将文件所有者改为某用户

    (改后可对文件有写权限)将文件的用有者改为指定的用户或用户组 普通用户不能将自己的文件改变为其他拥有者,一般是root用户操作

    普通用户只可以修改所有者是自己的文件权限。

    root可以修改所有文件的权限

    chmod  对文件设置权限

    文件权限:r(读),w(写),x(可执行)
    r 4
    w 2
    x 1

    a:all--所有用户
    u:user----文件拥有着
    g:group----与user同属一个group的其他user
    o:other-----其他group的user

    chmod -R 权限值 文件名
    -R连同子目录
    chmod 761 文件  u的权限是4+2+1,g的权限是4+2,o的权限是1
    chmod g+w 1.txt 增加文件所属组的写权限
    chmod o-r 1.txt 删除文件其他用户的读权限
    chmod u=rwx,g=rw,o=- 1.txt 修改文件权限为u=rwx,g=rw,o=-

    ps -ef|grep 'ssh' 查找特定进程
    ps -aux 列出目前正在内存中的所有程序
    kill -9 [pid] 强制终止进程

    netstat 查看端口占用

    netstat -tunlp 是查看所有的在使用的端口号情况

    netstat -tunlp | grep 端口号 是查看所查询的端口号情况

    ln 源文件 目标文件 创建硬连接 (不常用,限制较多,不可以给目录创建硬连接,不可以跨区,目标文件 和源文件inode号一样)
    ln -s 源文件 目标文件 创建软连接(常用,目标文件 和源文件inode号不一样)

    top 显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

  • 相关阅读:
    2.12 使用@DataProvider
    2.11 webdriver中使用 FileUtils ()
    Xcode8 添加PCH文件
    The app icon set "AppIcon" has an unassigned child告警
    Launch Image
    iOS App图标和启动画面尺寸
    iPhone屏幕尺寸、分辨率及适配
    Xcode下载失败 使用已购项目页面再试一次
    could not find developer disk image
    NSDate与 NSString 、long long类型的相互转化
  • 原文地址:https://www.cnblogs.com/qqxin/p/11720817.html
Copyright © 2011-2022 走看看