• 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占用率等

  • 相关阅读:
    python数字
    python字符串方法
    python操作符与流程控制
    网络基础和python(二)
    网络基础和python
    Ubuntu源更新
    make和makefile介绍
    JavaScript
    redis mac安装配置
    网络编程之socket(TCP,UDP)
  • 原文地址:https://www.cnblogs.com/qqxin/p/11720817.html
Copyright © 2020-2023  润新知