Linux常用命令介绍(20个)——《鸟哥的Linux的私房菜》

  1. ls [选项] [目录名] -a, -l 列出当前目录下的所有文件和目录
    -a 所有文件,包含以点开头的隐藏文件和目录。一个点代表当前目录,两个点代表上一层目录。
    -l 列出文件和目录的详细信息:包含文件权限、所处的用户组、文件大小、创建时间。
    如果是文件,就是以短的横线开头。
    如果是子目录,就是以d开头的。
    1.1 计算当前目录下子目录数量
    ls -l /opt/soft | grep “^d” | wc -l
    grep 是一个筛选命令,后面一般会跟字符串,正则表达式。只有满足字符串和正则表达式的才可以被筛选出来。
    ^ 代表开头,以d开头的
    wc 计算,-l记录有多少行。wc后面可跟两个参数:-c 记录字符;-l记录行数。
    ls -l | grep “^d” 把所有子目录显示出来了,但是文件没有显示出来。
    ls -l /opt/soft | grep “^d” | wc -l 记录有多少个子目录。
    1.2 列出文件的绝对路径
    ls | sed “s:^:‘pwd’/:”
    sed 字符串的替代命令,3个冒号间跟2个字符串。s:old老的字符串:new新的字符串:
    pwd 列出当前路径
    ls | sed “s:^:‘pwd’/: g” 加参数g全局

  2. cd [目录名]
    2.1 / 根目录
    2.2 ~ 当前用户目录
    2.3 … 上一级目录
    2.4 - 返回进入此目录之前所在的目录

  3. mkdir [选项] 目录 -p, -m 创建目录命令
    -p 可以递归地创建目录
    -m 后面加目录权限
    3.1 递归创建多个目录:mkdir -p test2/test22
    rm -rf test2 删除test2目录。
    mkdir test2/test22 会出错,因为不存在test2文件夹。
    mkdir -p test2/test22 递归地创建目录,就会成功。
    rwx r读read权限,w写write权限,x可执行
    drwxrwxr-x 第一个rwx为用户组,第二个rwx为用户所有者,r-x为其他人
    3.2 创建权限为777的目录:mkdir -m 777 test3
    其他人缺少写权限
    如果权限对所有人都开放,有可读写操作的权限
    mkdir -m 777 test2
    7为最高权限,第一个7为可读,第二个7为可写,第三个7为可执行。
    r=4,w=2,x=1,r+w+x=4+2+1=7 一共是3组。

  4. rm [选项] 文件… -r, -f, -i 删除文件和目录
    -r 递归删除。删除目录底下有子目录,就把子目录递归地删除。
    -f 强制删除。文件夹下面还有文件或子目录,有时删除不掉,不管何种情况,强制删除。
    -i 温和地删除。给出提示,确认是否要删除,以免误删。
    4.1 当前目录和子目录全部删除,不需确认。
    rm -rf test2
    cd test2
    mkdir test22 创建子文件夹
    cd … 回上一层目录。
    rm test2
    提示:rm: cannot remove ‘test2’: is a directory
    rm -r test2 递归地删除,就能成功
    vi test 生成一个文件
    rm -rf *.bak 使用正则表达式 rm *.bak

  5. rmdir 只能删除空目录

  6. mv [选项] 源文件或目录 目标文件或目录移动

  7. cp [选项] 源文件或目录 目标文件或目录复制

  8. which 可执行文件名称。很有用,可以查找可执行文件的目录。
    which mysql 想知道mysql这个文件在哪儿。

  9. whereis 文件名。可以定位可执行文件、源码文件、帮助文件在系统里面的位置。
    whereis mysql 可执行文件、源文件、帮助文件都列出来。
    mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/an/min1/mysql.1.gz

  10. find pathname -options [-print -exec -ok …]
    10.1 查找当前所有目录并排序:find . -type d | sort
    -type d 中d为参数,只查找目录
    find . - type d中的.代表当前目录,该命令会把当前目录和当前目录下的子目录都列出来。find是递归查找的。
    10.2 查找文件移到指定目录:find . -name “.log" -exec mv {} …; 后跟shell命令,这个命令必须以分号结尾。反斜杠对分号转义,免得分号有特殊的意义。
    .log 是文件名字
    … 为上一层目录
    find . -name "
    .log" 找出的文件可以执行-exec该参数给出的shell命令。
    find . -name "
    .log” -exec mv {} lighttpd/log/ ;
    10.3 使用xagrs执行mv:find . -name “.log" | xargs -i mv {} test4 竖线|管道
    -i 这个参数,就是move后中括号中的参数,就是前面find命令的输出,作为它的输入。带上-i,就是把前面的输出作为mv后的第一个参数。
    建立一个文件夹mkdir test4
    -i 参数表示前面的输出用{}代替。
    10.4 避开多个目录查找文件:find test2 -path “test2/test22” -prune -o -name "
    .log” -print
    -prune 减支,减少查找目录。

  11. Windows与Linux之间传递文件命令。
    11.1 rz -bey sz 从Windows向Linux服务器传文件。
    rz receive接收文件
    -bey 中的b为二进制上传,e为强制转换所有的空格字符。
    用rz最好带上-be这两个参数,否则上传的文件经常容易被破坏。
    11.2 从Linux往Windows传文件。
    sz hello.html 下载路径
    shell设置选项->最下面->Upload or Download 下载路径

  12. tar命名
    12.1 解压:tar -zxvf FileName.tar.gz
    tar打包
    -zxvf中的x为解压,v为在解压/压缩过程中显示文件
    压缩:tar -zcvf FileName.tar.gz DirName
    -zcvf中的z为用gz进行压缩,c为压缩,f为我们会使用给出来的文档名字。
    12.2 解压:tar jxvf FileName.tar.bz2
    jxvf中的j为解压的是bz2的文件。
    压缩:tar jcvf FileName.tar.bz2 DirName

  13. 查看空间的使用情况
    du -sh -a
    du -h 以可读方式显示每个文件的大小
    du -s 这个文件占用的总的大小,而不分别显示每个文件

  14. diff命令: [参数] [文件1或目录1] [文件2或目录2] 比较两个文件或两个目录有什么不同
    14.1 diff -ruN file1 file2 > patch.log
    比较复杂,用到的地方不多。
    diff test.sh test.sql
    vimdiff 1 2 清楚地看到两个文件的不同。
    14.2 patch file1 patch.log

  15. 查看文件字数、行数:wc -l -w -c
    -w 计算字行
    -c 计算字符

  16. ps,grep,kill命令组合
    ps 列出当前进程
    grep 筛选命令,后面跟要搜索的进程的名字
    kill 杀死进程的命令
    16.1 ps -aux| grep vim | kill -0 PID
    -aux中的a为all 包括其他使用者的进程。
    -9 强制杀死
    PID要带上进程号,如3205
    ps -aux 把当前机器所有进程都列出
    ps -aux | grep “vim”
    ps -aux | grep “vim” | grep -v “grep”
    16.2 ps -aux | grep vim | awk ‘{print $2}’ | xargs kill -9
    ps -aux | grep vim | kill -9 | 3205

  17. crontab命令: crontab -e
    配置定时任务
    17.1 格式:minute hour day month week command
    17.2 10 23 *** cd /home/video/test/&& sh test.sh > /dev/null
    晚上11点10分,*** 第一个代表每一天,第二个代表每个月,第三个*代表每星期。

  18. ping命令:测试与目的主机的连通性。
    ping baidu.com
    18.1 ping ip或者域名

  19. wget命令:wget [参数][URL地址] 从远程服务器下载文件的命令
    19.1 wget -o --limit -rate = |M filename URL
    wget http://download.lighttpd.net/lighttpd/release-1.4.x/lighttpd-1.4.36.tar.gz 直接跟要下载文件的服务器地址

  20. scp命令:scp [参数][原路径][目标路径]
    20.1 scp local_file remove_username @remote_ip:remove_folder
    local_file 本地文件
    remove_username @remote_ip:remove_folder 远程文件

你可能感兴趣的:(测试开发,linux,正则表达式,服务器)