首页 > 全部内容 > 编程 > linux常用指令
2017
09-29

linux常用指令

  1. 查看目录下有什么文件信息

    ls //list查看当前目录下有什么文件
    ls -lls ll //list -list 通过详细内容形式查看目录下的文件内容
    ls 目录 //查看指定目录下文件名字信息
    ls -l 目录 //以详细列表形式查看指定目录下文件名字信息
    ls -a //list all 查看全部文件,包括隐藏文件
    ls -al //list list all 以详细列表形式查看全部文件,包括隐藏文件
    ls -i //查看目录下文件名字的索引号码

  2. 目录切换

    cd 目录名字
    cd.. //向上级目录切换
    cd~ //快速切换回自己的家目录

  3. 查看当前操作位置

    pwd

  4. 查看操作者信息(是谁在操作系统)

    whoami

  5. 不同用户间的切换

    su - //切换为root用户
    su - root //效果同上
    su 普通用户名称 //向普通用户切换
    exit //当前用户退回到之前用户

    su多次使用,用户会“累加”,建议“su” 和 “exit”匹配使用

  6. 图形模式与命令模式进行切换

    init 3 //图形 向 命令模式切换
    init 5 //命令 向 图形模式切换

  7. 查看指令对应的可以执行程序文件位置

    which 指令

  8. 目录操作
    1)创建目录 make directory

    mkdir newdir
    mkdir -p newdir/newdir/newdir //递归方式创建多级目录
    newdir新目录多于1个层次(2/3/4等)就设置-p参数,如果就一个新的目录则无需-p参数
    mkdir dir/newdir
    mkdir dir/dir/newdir
    mkdir -p dir/newdir/newdir

    2) 移动(改名字)目录 move
    (目录/文件 都可以操作)

    mv dir1 dir2 //dir1移动到dir2目录下,并给改名字为”原名”
    mv dir1 dir2/newdir //dir1移动到dir2目录下,并给改名字为newdir
    mv dir1/dir2 dir3/dir4 //dir2移动到dir4目录下,并给改名字为”原名”
    mv dir1/dir2 dir3/dir4/newdir //dir2移动到dir4目录下,并给改名字为 newdir
    mv dir1/dir2 ./ //dir2移动到 当前 目录下,并给改名字为”原名”
    mv dir1/dir2 ./newdir //dir2移动到 当前 目录下,并给改名字为newdir

    3) 复制(改名字)目录 copy
    (目录/文件 都可以操作)
    ① 复制普通文件

    cp file1 dir1 //file1被复制到dir1目录下一份,并给改名字为“原名”
    cp file1 dir1/newfile //file1被复制到dir1目录下一份,并给改名字为newfile

    ② 复制目录 -r参数要求
    //recursive递归方式拷贝目录

    cp -r dir1 dir2 //dir1被复制到dir2目录下一份,并给改名字为“原名”
    cp -r dir1 dir2/newdir //dir1被复制到dir2目录下一份,并给改名字为newdir
    cp -r dir1/dir2/dir3 dir4/dir5 //dir3被复制到dir5目录下一份,并给改名字为”原名”

    4) 删除 remove

    rm filename //普通文件删除
    rm -r dir //删除目录[无视层次]需要-r参数
    rm -rf 文件 //recursive force 递归强制删除文件,force 避免删除隐藏文件的提示
    rm -rf / //递归强制方式删除系统里边的全部内容

  9. 文件操作
    1) 查看文件内容

    cat filename //在终端显示文件全部内容
    more filename //通过”敲回车”方式从第一行逐行查看文件内容,不支持回看,q键退出查看
    less filename //”上下左右”键方式查看文件各个部分内容,支持回看,q键退出查看
    head -n filename //查看文件“前n行”内容
    tail -n filename //查看文件“末尾n行”内容
    wc filename //计算文件行数

    2) 创建文件

    touch filename
    touch dir/filename

    3) 追加内容(文件不存在会“自动”创建)

    echo 内容 > filename //给文件“覆盖写”方式追加内容
    echo 内容 >> filename //给文件纯追加内容

  10. 用户操作
    user,配置文件/etc/passwd
    1) 创建 add

    useradd username //创建用户会同时创建同名组
    useradd -g 组编号 username //创建用户的同时设置组别
    useradd -g 组编号 -u 用户编号 -d 家目录 username//创建用户同时,指定组别、用户编号、家目录
    2) 修改 modify
    usermod -g gid username //修改组别是常见操作
    usermod -g gid -u uid -d 家目录 -l newname username//修改组别、用户编号、家目录、名字

    注意:家目录修改后需要手动创建,不同于创建用户家目录设置

     创建用户时设置家目录,该目录会自动创建 修改用户家目录时,该目录不会自动创建(需要手动创建) 

    3) 删除 delete

    userdel username //删除用户(删除passwd文件对应信息),此时其家目录需要手动删除
    userdel -r username //删除用户的同时也删除其“家目录”

  11. 组别操作
    group, 配置文件/etc/group
    1) 创建 add

    groupadd groupname

    2) 修改 modify

    groupmod -g gid -n newname groupname

    3) 删除 delete

    groupdel 组名

    //注意:只有空组(内部没有用户信息)才允许删除

  12. vi编辑器使用
    1) 命令模式–>编辑模式切换(插入/Insert)

    a “光标” 向后移动一位
    i “光标” 和 “内容” 没有变化
    o “新”起一个空白行
    s “删除”光标所在字符

    2) 尾行模式作用

    :q quit退出编辑器
    :wq write quit 保存并退出
    :w write 保存
    :q! 强制退出(不要保存)
    :w! 强制写保存
    :wq! 强制保存退出

    :set numberset nu //给编辑器设置行号
    :set nonumberset nonu //取消行号设置

    :数字 光标跳转到数字所在行
    :/内容//内容 //内容查找,小写n(next)下一个,大写N(next)上一个

    :s/cont1/cont2/ //把光标所在行的”第一个”cont1替换为cont2
    :s/cont1/cont2/g //把光标”所在行”的全部cont1替换为cont2
    :%s/cont1/cont2/g //把”整个文档”中的全部cont1替换为cont2


3) 命令模式操作 
① 光标移动 
   a. 字符级 上(k) 下(j) 左(h) 右(l) 键 
   b. 单词级 `w` word下个单词首字母 `e` end下(本)个单词尾字母 `b` before上(本)个单词首字母 
   c. 行级 `$` 行尾 `0` 行首 
   d. 段落级(两部分内容中间有空行,彼此成为段落) `{` 上(本)个段落首部 `}` 下(本)个段落尾部 
   e. 屏幕级(不给翻屏) `H` 屏幕首部 `L` 屏幕尾部 
   f. 文档级 `G` 文档尾行 `1G` 文档第一行 `nG` 文档第n行 
② 内容删除 `dd` 删除光标所在行 `n+dd` 包括当前行在内向下删除n行内容 `x` 字符级删除,删除光标所在字符 `cw` 光标所在字符删除至单词结尾(是删除单词的便捷方式) 同时会进入编辑模式 
③ 内容复制 `yy` 复制光标所在行 `n+yy` 包括当前行在内向下复制n行内容 `p` 对复制(删除)好的内容进行粘贴操作 
④ 便捷操作 `u` undo撤销,从文件打开后的所有操作都可以撤销 `r` 对单词字符进行替换 `.` 重复执行"最近"的一条指令 `J` 合并上下两行 
  1. 权限设置
    1) “字母相对方式”设置权限
    权限: r读 w写 x执行
    用户: u主人 g同组 o其他组
    chmod u+/-rwx, g+/-rwx, o+/-rwx 文件

    
    不同用户通过",逗号"分隔 在同一个用户里边,+/-只能用“一个” 
    "rwx"在同一个用户里边可以设置一个或多个 
    "ugo" 每次权限操作可以设置一个或多个用户 

    chmod u+rw filename //主人增加读、写
    chmod g-rx filename //同组删除读、执行
    chmod u-w,g+x filename //主人删除写,同组增加执行
    chmod o+w,o-x filename //其他组用户“增加写、删除执行”

    2) “数字绝对方式” 设置权限
    读:4 写:2 执行:1
    权限类型:
    0: 没有权限
    1: 执行
    2: 写
    3: 写、执行
    4: 读
    5: 读、执行
    6: 读、写
    7: 读、写、执行

    chmod ABC filename //ABC分别代表主人、同组、其他组用户权限
    chmod 764 filename //主人读、写、执行, 同组读、写, 其他读
    chmod 777 filename //满贯权限
    chmod 000 filename //所有用户没有任何权限

    字母和数字方式取舍:
    权限修改的比较”少”,就使用字母方式
    权限修改的比较”多”,就使用数字方式

  2. 在文件中查找指定内容
    grep 内容 (绝对/相对路径)目标文件

    grep sbin /etc/passwd //在passwd文件中查找sbin字样,会把sbin所在行的内容都输出

  3. 查看文件占据磁盘空间大小
    du -h 文件/目录

    du -h 文件名称 //以k M的形式查看文件占据磁盘空间大小

  4. 文件查找
    find 现值查找目录 选项 选项值 选项 选项值….
    具体选项:
    ① name 根据文件名字查找指定的文件
    find 目录 -name 完整文件名称

    find / -name passwd[完整名称] //”递归遍历”系统全部目录查找名字等于passwd的文件
    find /etc -name passwd[完整名称] //递归遍历/etc及内部所有目录查找 名字等于passwd的文件

    find 目录 -name "an*"[部分名称] //模糊查找文件名字以an开始的

    ② 对查找的目录层次进行限制
    -maxdepth 限制查找的最”深”层次
    -mindepth 限制查找的最”浅”层次

    find / -name passwd -mindepth 3 -maxdepth 4//在3到4个层次的目录里边定位passwd文件

    ③ 根据文件大小进行查找
    size 单位

    find ./ -size 50c //在当前目录下查找大小[等于]50个字节的文件

    单位:

    数量 单位 实际大小 100 
最后编辑:
作者:Null
这个作者貌似有点懒,什么都没有留下。