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

    FHS:标准文件架构规范
    用好man命令
    su - name 切换到用户name
    su - root
    chmod 777 filename
    cd -:上一个工作目录
    cd ~:用户的家目录
    cd ~nid:q切换到nid的家目录
    mkdir -p /tmp/dd/dd/d创建嵌套目录
    rmdir dir:删除空目录
    ls [文件名|目录名|NONE]
    ls -a列出包含的隐藏文件
    ls -l列出文件的详细信息
    修改用户组:
    chown nbcc:stu hello.sh
    chown stu hello.sh
    chown :nbcc hello.sh
    ls -l hello.sh
    列出的文件信息中;
    d:目录文件
    -:普通文件
    c:字符文件
    l:链接文件
    cp -r /temp/aa ~ 拷贝目录到家目录
    拷贝时存在多个同名文件处理办法:
    cp -f /temp/aa /tmp/file03 ~
    cp /tmp/smple.sh ~nbcc 拷贝sample.sh到nbcc家目录
    拷贝文件到目录下(并且保留拷贝前的权限-p)
    cp -p /tmp/file03/sample.sh ~nbcc
    mv /tmp/dd /tmp/dd1 /tmp/d2 ~移动多个目录到家目录
    移动文件中覆盖同名文件;
    mv -f /tmp/d2 ~
    重名文件
    mv ./file08 ./file01
    删除命令:
    rm ./file01
    删除多个文件;
    rm ./file01 ./file02 ./file02
    删除目录:
    rm -R ./dir1
    直接删除目录:-f
    rm -fR ./dir1
    软链接
    ln -s [链接指向的文件][链接名]
    ln -s /tmp/hello.sh ./hello_slink
    如果符号链接指向的文件被删除了,意味着链接断裂了。
    硬链接、软链接
    硬链接
    ln [链接指向的文件][链接名]
    注意:
    1.不推荐创建目录硬链接
    2.不推荐跨磁盘创建硬链接
    3.硬链接的删除只是删除文件的名字,并不是删除文件
    tar
    tar -cf [打包文件名][要打包的文件/列表]
    -c:创建打包文件
    -f:指定打包文件名
    打包多个文件:
    tar -cf sample.tar /tmp/file1 /tmp/file2 /tmp/file3
    列出打包里的所有文件名:
    tar -tf ./sample.tar
    删除打包内的文件:
    tar -f ./sample.tar --delete tmp/file05
    合并打包的tar文件:
    tar -f ./sample.tar -A ./sample1.tar
    向tar文件添加文件:
    tar -f ./sample.tar -r ~/file.txt
    解包文件:
    tar -xf ./sample.tar -C ./sample
    备注:默认解包到当前目录
    -C:解包的目录
    压缩文件:
    gzip ./sample.tar
    解压文件:
    gzip -d ./sample.tar.gz
    打包和压缩命令结合使用:tar和gzip
    例如:
    tar -czf sample.tar.gz /tmp/sample /tmp/file05
    解压缩解包
    tar -xzf sample.tar.gz

    locate .tar 查找文件
    locate是从数据库中查找:/var/lib/mlocate数据库
    更新数据库:updatedb

    find [查找范围][查找条件][动作]
    find / -name passwd
    find /bin -type l:查找符号链接文件
    -type d目录文件
    -type f:普通文件
    -type c:字符文件
    -type b:块设备文件
    -type l:符号链接文件

    查找三天内内容发生改变的文件
    find /tmp -mtime -3 -ls
    查找七天前内容发生改变的文件
    find /tmp -mtime +7 -ls
    查找4天前的那天目录下发生改变文件
    find /tmp -mtime 4 -ls
    注释:
    +:表示n天之前
    -:表示n天之内
    n:表示前第n天
    find /tmp -mmin -3 -ls :分钟
    -amin -atime 文件被修改、执行时间
    -cmin -ctime 文件属性被修改时间
    -mmin -mtime 文件修改时间

    按照大小查找;
    查找目录下下于3K的文件;
    find /tmp -size -3k -ls
    查找比100字节大的文件
    find /tmp -size +100c -ls

    查找拥有者是root用户的文件
    find /tmp -user root -ls
    查找用户的uid为500的文件
    find /tmp -uid 500 -ls
    查找用户组是stu的文件
    find /tmp -group stu -ls
    查找用户组为gid0的文件
    find /tmp -gid 0 -ls
    按照用户的拥有权限查找文件
    find /tmp -perm 754 -ls
    find多参数查找文件:
    与-a
    或-o
    非!
    例子:
    find /tmp (-size +1k -a -size -10M -a -mmin -30 -a -type f) -ls

    查找到特定文件并删除
    find /tmp (-size +1k -a -size -10M -a -mmin -30 -a -type f) -exec rm -rf {} ;
    ;在bash有特定意义,因此要用转移符
    find ~(-mmin -10 -a -type d ) -exec tar -cf {}.tar {} ;
    -OK -exec (类似,会有提示信息)
    查找名字为temp的文件删除不提示:
    find / -name temp -exec rm {} ;
    通配符:
    *:任意长度的字符串(包括0长度)
    ?代表任意的单个字符
    ls -l /bin/??sh
    [c1-c2]c1-c2的字符序列
    cp /tmp/file[0-9].txt ~ 拷贝文件到家目录下
    [c1,c2,c3,c4,...cn]匹配中括号内字符序列中的任意单一的字符
    example:
    修改以下特点的文件属性:
    chmod 700 /tmp/script[a,1,x].sh
    {string1,string2,string3,string4,..stringn}匹配之中的某一个字符串
    example:
    rm -rf {script,shell}*.sh:删除开头如上的文件
    !取反
    打包除了[0-9]之间的任意一个字符
    tar -cf file.tar /tmp/file[!0-9].txt

    cat (concatenate)连接几个文件、从键盘创建文件,查看文件
    查看文件
    cat /var/shell.sh
    查看文本文件(大文件)
    less /var/shell.cpp (up,down向上下,pagedown,pageup)
    head -n 20 /var/log/messages 查看文件的前20行
    tail 查看文件的结尾信息
    重定向:
    ls -l /tmp/example/ 1> ./stdout.txt
    ls -l / 1>>stdout.txt
    ls -l /tmp/example/ 2> ./stdout.txt
    ls -l / 2>>stderr.txt
    重定向到一个文件中:错误、正确
    ls -l /temp/example/file1 /tmp/example/file04 &>std.txt
    忽略输出:
    ls -l /tmp/example/file1 /tmp/example/file04 2>>/dev/null
    输入重定向:
    tr [准备要替换的字符][要替换成的字符]
    tr ' ' ' ' < ./fruit.txt 将fruit.txt中的文本中空格替换为tab
    sort -k [关键字字段序号][要排序的文本文件]
    sort -k2 <<EOF
    >1 apple
    >2 pear
    >3 banana
    >EOF
    1 apple
    3 banana
    2 pear

    管道
    grep cut head tail less more wc tr sort
    grep [关键字文本] [查找的文本]
    ls -al /etc | less
    ls -al /etc | grep 'ssh'

    cut
    cat ~/install.log| cut -c1,2 切割的字符列序号
    cat /etc/passwd | cut -f1 -d":" (数字,:分隔符)

    wc:统计命令
    wc /etc/passwd 统计行数和单词数
    wc -l /etc/passwd 只统计文本的行数
    example:
    ls -al ~|cut -c1 | grep "d" | wc -l

    怕什么真理无穷,进一寸有一寸的欢喜。---胡适
  • 相关阅读:
    flash 语法 入门
    flash 代码 雪花飘落
    test windows live writer
    网站索引
    [转]jquery入门简介
    forcast iframe 及 四款播放器
    flash
    flash 备忘
    浏览器默认HTML的CSS样式属性
    简单多线程拷贝单文件示例
  • 原文地址:https://www.cnblogs.com/hujianglang/p/7471336.html
Copyright © 2011-2022 走看看