zoukankan      html  css  js  c++  java
  • Linux的基本命令


    #文件夹与文件操作 pwd ls cd mkdir cp mv rm file
    /*{{{*/
    一.pwd 显示当前工作文件夹所在绝对路径(以/为起点表示的路径)
    eg:pwd
    #选项-P显示链接文件路径
    二.ls 显示文件夹下文件及文件夹
    能够带參数,指定文件夹或文件
    可不带參数,显示当前文件夹

    eg:查看主文件夹下workdir文件夹的内容(~代表用户主文件夹)
    ls ~/workdir
    ls

    #A.选项 -a 显示全部文件,包含隐藏文件(以.开头的文件)
    eg:(带參数:指定文件夹或文件)查看主文件夹下workdir文件夹下全部文件
    ls -a /home/tim/workdir

    eg:(不带參数)查看当前文件夹下全部文件及文件夹
    ls -a

    #B.选项 -l 显示文件或文件夹的属性信息,(仅解释文件大小,其他细节在文件系统部分解释)
    eg:显示当前文件夹下文件及文件夹的属性信息
    ls -l
    eg:显示指定文件夹或文件的属性信息,注意能够带多个參数!
    ls -l /home/tim examples.desktop

    #C.选项 -h 以K,M,G为单位显示文件大小,与-l一起用。

    注意:bash下通过alias命名了l,la,ll。效果请自行測试

    注意:几个特别的文件夹 . .. / ~ -


    三.cd 切换工作文件夹 关于文件系统的路径。绝对与相对

    eg:不带选项和參数。返回当前用户的主文件夹.
    cd回车

    eg:切换到根文件夹下的home文件夹下
    cd /home

    eg:切换到上层文件夹
    cd ..

    eg:切换到前一个文件夹
    cd -

    eg:切换到上层文件夹的上层文件夹,从主文件夹切换到根文件夹.
    cd ~
    cd ../..

    四.mkdir 新建空文件夹
    eg:当前文件夹下创建文件夹dir
    mkdir dir

    eg:在/home/tim/workdir文件夹下创建文件夹dir
    mkdir /home/tim/workdir/dir

    #选项-p递归创建多层文件夹
    eg:在~下创建dir1/dir2/dir3
    mkdir ~/dir1/dir2/dir3 -p

    五.cp 拷贝源文件或文件夹到目标文件或文件夹,可实现备份
    eg:将共享文件夹下的文件复制到主文件夹下
    cp /mnt/hgfs/share/jeffy-vim-v2.0.zip ~

    eg:将主文件夹下的jeff-vim-v2.0.zip 备份为jeffy-vim-v2.0_bak.zip
    cp jeff-vim-v2.0.zip jeffy-vim-v2.0_bak.zip

    #选项-a拷贝整个文件夹内容
    eg:将文件夹jeffy-vim-v2.0复制到Desktop文件夹下
    cp jeffy-vim-v2.0 ~/Desktop -a

    六.mv 移动源文件或文件夹到目标文件或文件夹。可实现重命名
    eg:将主文件夹下的test.txt文件移动到共享文件夹下
    vi test.txt
    mv test.txt /mnt/hgfs/share

    eg:将主文件夹下的Videos文件夹重命名为MyVideos
    mv Videos MyVideo

    七.rm 删除一个或多个文件或文件夹。物理删除,不可恢复。-rf
    eg:删除在主文件夹下jeffy-vim-v2.0_bak.zip
    rm jeffy-vim-v2.0_bak.zip

    #选项-rf强制删除文件或文件夹
    eg:删除主文件夹下的dir文件夹
    rm -rf dir

    八.file 查看文件类型
    eg:查看主文件夹下test.c文件类型
    file test.c

    eg:查看主文件夹下shared文件类型
    file shared

    /*}}}*/

    练习:
    /*{{{*/
    假设/mnt/hgfs/文件夹下没有可用文件夹,将共享文件夹换为~/Videos
    cp
    2.将用户主文件夹下的passwd文件备份为passwd-bak
    cp
    3.在用户主文件夹下新建文件夹test_dir
    mkdir
    4.将passwd-bak移动到test_dir文件夹下
    mv
    5.将test_dir文件夹下的passwd-bak文件改名为passwd

    6.将test_dir文件夹复制到你的共享文件夹下

    7.将共享文件夹下的test_dir文件夹改名为dir

    8.删除以上产生的文件
    /*}}}*/

    #编辑与查看文件内容 touch vi/vim cat more/less head/tail sort uniq diff
    /*{{{*/

    九.touch 可用于创建新文件
    eg:在主文件夹下创建文件test_touch
    touch test_touch

    十.vi / vim 新建或编辑
    使用小技巧:
    vi file +行号 打开文件时光标直接定位到指定行
    vi file1 file2 -d 比較两个文件的差异

    十一.cat 在标准输出(显示器)显示文件内容
    eg:显示主文件夹下的文件test.c
    cat test.c

    #选项-n 显示文件内容时显示行号
    eg:显示主文件夹下的文件test.c同一时候显示行号
    cat -n test.c

    十二.more/less 分屏显示文件
    cat 显示文件时一次性全在屏幕上显示出来了,查看前面内容不太方便,
    more/less命令能解决问题
    使用异同点
    eg:分屏显示文件内容
    more /etc/passwd
    less /etc/passwd

    同样操作方法
    d键下翻页,b键上翻页
    回车下翻行,空格下翻页

    不同操作:less支持上下键,pagedown和pageup键上下翻行翻页
    显示差别。more显示当前显示内容百分比。

    退出按q键。

    十三.head/tail 显示文件开头/结尾
    假设仅仅想查看文件开头或最后几行内容,可使用head/tail命令,默认显示10行
    eg:查看/etc/passwd文件开头10内容
    head /etc/passwd
    eg:查看/etc/passwd文件结尾处10内容
    tail /etc/passwd

    #选项-num指定显示内容的行数
    eg:查看/etc/passwd文件开头20行内容
    head -20 /etc/passwd
    tail 使用方法类似
    head与tail常与管道结合使用


    十四.sort 按行排序从小到大显示文件内容,注意排序结果不会影响原文件
    显示结果与语系相关,为了以ASCII码值为结果使用LANG=C统一
    能够通过echo $LANG查看
    eg:排序查看文件内容
    vi test.c
    每行写入字符,数字。符号
    sort test.c

    #选项-r从大到小的顺序排序显示
    eg:逆序排序查看文件内容
    sort -r test.c

    #选项-n对数字排序时以数值结果排序,而不是ASCII码值排序
    eg:按数字数值排序
    vi test
    每行写入数字
    sort test
    sort -n test
    显示差别

    #选项-o指定排序结果输出到文件
    eg:将test.c 排序结果写回test.c
    sort test.c -o test.c

    十五.uniq显示文件内容。去掉相邻反复的行
    eg:显示时反复相邻行仅仅显示一行。
    uniq test

    十六、diff按行比較两个文件的不同,将两具文件里不同内容显示出来
    经常使用于程序新旧版本号对照
    eg:显示sort1.c与sort2.c不同处
    diff sort1.c sort2.c
    显示结果不直观。建议用vim sort1.c sort2.c -d取代,直观对照
    显示结果中a表示追加。d表示删除,c表示更改,
    <表示属于第一个文件,>表示属于第二个文件.

    /*}}}*/

    #查找与搜索 find grep
    /*{{{*/
    十七、find在当前文件夹下递归查找文件显示路径,即包含子文件夹
    使用方法:find -name filename
    或find -name 'filename'
    或find -name "filename"
    eg:在当前文件夹(主文件夹)下查找test.c文件
    find -name test.c

    使用方法:find 路径 -name filename
    eg:在workdir文件夹下查找test.c文件
    find ~/workdir -name test.c

    十八、grep在文件里查找字符串
    eg:在/etc/passwd 文件里查找"tim"
    grep "tim" /etc/passwd

    #选项-n显示字符串所在行号
    eg:在/etc/passwd文件里查找"tim"。并显示所在行号
    grep "tim" /etc/passwd

    eg:在当前文件夹下全部文件里搜索"main"(不包含子文件夹)
    grep "main" *

    eg:在当前文件夹下全部文件里搜索"main"(包含子文件夹)
    grep "main" * -nR

    #搜索字符串的匹配方式 ^ $
    eg:查找全部含有tim的字符串
    将/etc/passwd 复制到主录目下
    cp /etc/passwd ~
    grep "tim" passwd

    eg:查找以tim开头的字符串
    grep "^tim" passwd

    eg:搜索以tim结尾的字符串
    grep "tim$" passwd

    eg:搜索出仅仅含"tim"的字符串
    grep "^tim$" passwd

    /*}}}*/

    #打包文件夹与压缩文件,(结合ppt 3 66页) zip unzip gzip gunzip bzip2 bunzip2 tar
    /*{{{*/

    十九、zip对多个文件进行压缩,生成.zip后缀名压缩文件,unzip进行解压缩
    !使用方法:zip 压缩包名.zip 文件1 文件2 ……
    eg:将test.c test1.c test2.c 压缩到test.zip文件里
    zip test.zip test.c test1.c test2.c

    eg:将test.zip解压到当前文件夹下
    unzip test.zip

    二十、gzip对一个文件进行普通压缩,不能对文件夹压缩
    eg:将test.c压缩成test.c.gz
    gzip test.c

    二十一、gunzip对gz格式压缩文件解压
    eg:将test.c.gz解压
    gunzip test.c.gz

    二十二、bzip2对一个文件进行高比例压缩。不能对文件夹压缩
    eg:将test.c文件压缩为test.c.bz2
    bzip2 test.c

    二十三、bunzip2 对bz2格式压缩文件进行解压
    eg:将test.c.bz2解压
    bunzip2 test.c.bz2

    二十四、tar将多个文件或文件夹打包
    #经常使用选项
    -c 创建
    -x 释放

    -z 处理gzip压缩的tar包
    -j 处理bzip2压缩的tar包

    -v 显示具体信息
    -f 指定打包或解包的文件,需放在选项最后

    !使用方法
    打包
    eg:将jeffy-vim-v2.0打包生成jeffy-vim-v2.0.tar
    tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0

    解包
    eg:将jeffy-vim-v2.0.tar解包
    tar -xvf jeffy-vim-v2.0.tar

    先打包。再使用gzip bzip2命令压缩
    tar -cvf jeffy-vim-v2.0.tar jeffy-vim-v2.0
    gzip jeffy-vim-v2.0.tar <= 生成jeffy-vim-v2.0.tar.gz
    或bzip2 jeffy-vim-v2.0.tar <= 生成jeffy-vim-v2.0.tar.bz2

    直接打包并压缩
    以gzip压缩 -czvf,后缀.tar.gz 或.tgz
    tar -czvf jeffy-vim-v2.0.tar.gz jeffy-vim-v2.0
    tar -czvf jeffy-vim-v2.0.tgz jeffy-vim-v2.0

    以bzip2压缩 -cjvf ,后缀.tar.bz2 或.tbz2
    tar -cjvf jeffy-vim-v2.0.tar.bz2 jeffy-vim-v2.0
    tar -cjvf jeffy-vim-v2.0.tbz2 jeffy-vim-v2.0

    解压缩并解包 -xvf,对gzip与bzip2处理的文件均有效
    tar -xvf jeffy-vim-v2.0.tar.bz2
    tar -xvf jeffy-vim-v2.0.tbz2
    tar -xvf jeffy-vim-v2.0.tgz

    /*}}}*/

    #其他命令 clear date echo which whereis man
    /*{{{*/

    二十五、clear 清屏
    快捷键 ctrl + l

    二十六、date 查看日期及时间
    eg:date

    二十七、echo显示一行文本,经常使用于显示环境变量值
    eg:显示字符串hello world!
    echo "hello        world!"
    echo hello      world!
    注意差别。加""原样输出。否则算多个字符串输出

    eg:显示环境变是LANG的值,注意查看环境变量须要加$
    echo $LANG

    二十八、which 查找命令所在路径
    eg:查找ls 所在路径
    which ls

    二十九、whereis 查找命令所在路径,源,man手冊文件所在位置
    whereis ls

    三十、man 查帮助手冊
    eg:查ASCII码表
    man ascii

    eg:查whereis 命令帮助页
    man whereis

    eg:查函数strcmp

    /*}}}*/

    #系统维护命令 sudo su passwd shutdown
    /*{{{*/
    三十一、sudo以超级用户身份运行一条命令
    eg:查看系统下存放账号password文件内容,需超级用户权限
    $cat /etc/shadow
    $cat: /etc/shadow:Permission denied

    $sudo cat /etc/shadow
    $[sudo]password for tim: <=输入tim用户的password。注意password不会回显!

    三十二、su暂时切换用户
    eg:切换到root用户
    su
    Passwd: <=输入root用户password!
    exit可退出切换的用户

    eg:切换到root用户,并切换到root主文件夹/root
    su -
    Passwd: <=输入root用户password

    注意假设第一次切换root用户可能会提示password错误

    三十三、改动passwordpasswd
    eg:改动tim用户password
    sudo passwd tim <=加sudo 是能够设置短password

    eg:改动rootpassword
    sudo passwd root

    三十四、shutdown关机命令
    eg:5分钟后关机
    sudo shutdown +5

    eg:马上关机
    sudo shutdown -h now

    eg:马上重新启动
    sudo shutdown -r now
    sudo reboot

    /*}}}*/

    #用户管理 adduser deluser
    /*{{{*/
    三十五、adduser加入用户,会要求输入新用户password。全名,
    并在/home文件夹下创建新用户主文件夹
    eg:sudo adduser max <=输入当前用户password

    三十六、deluser删除用户
    eg:删除用户max
    sudo deluser max

    #选项--remove-home,删除用户同一时候删除该用户主文件夹
    eg:sudo deluser --remove-home max
    /*}}}*/

    剩下命令
    du df mount umount ln "ls -l" chmod chown chgrp ps kill

  • 相关阅读:
    (干货).NET开发丰富的公共类库助你事半功倍(供下载免费使用)
    .NET+模块编排+数据库操作类的封装+分层架构+实体类+Ajax.net+Athem.NET+javascript+Activex组件+用户权限等
    IOS条形码扫描
    企业架构研究总结(2)——问题的由来和基本概念(转载)
    企业架构研究总结(1)——参考资料列表(转载)
    理解.NET中的异常(一)
    [转]《Java Generics and Collections》读书笔记三:协变式覆盖与泛型重载
    [转]《Java Generics and Collections》读书笔记二:子类化与通配符
    转:C++单例模式
    [转] java package import
  • 原文地址:https://www.cnblogs.com/yfceshi/p/6758179.html
Copyright © 2011-2022 走看看