linux常用指令 - 个人文章 - SegmentFault 思否

https://segmentfault.com/a/1190000011068772


  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 number 或 set nu //给编辑器设置行号
    :set nonumber 或 set 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 -------> 512字节:【100*512字节】
    50c -------> 字节 : 【50字节】
    50k -------> 千字节: 【50*1024字节】
    50M -------> 兆字节 【50*1024*1024字节】

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

  5. 开关机指令

    reboot //重启
    poweroff //关机

【ZZ】Linux常用指令的更多相关文章

  1. linux常用指令

    整理下来的linux常用指令 mount [-t 文件系统] 设备文件名 挂载点挂载命令,一般用于在挂载ISO,或者其他比如U盘等设备时使用,[-t iso9660]为固定格式,可写可不写,非必写项. ...

  2. ROS零门槛学渣教程系列(二)——Linux常用指令:mkdir、tar、 unzip、cp、scp、mv、rm、find、apt、ssh

    Linux常用指令通过上一教程,我们获得了ubuntu系统.Linux是一个很大的领域.但不要紧张,我们一步步来就是了,跟着教程,需要能用到新知识,会提前介绍给大家.下面学习几个常用的Linux指令. ...

  3. Linux常用指令【转载】

    [收藏]Linux常用指令[转载] $ 命令行提示符 粗体表示命令 斜体表示参数 filename, file1, file2 都是文件名.有时文件名有后缀,比如file.zip command 命令 ...

  4. Linux常用指令(三)

    进入京东运维组实习,收到了很多同事的热心指导,自己也努力学习,按照他们给出的学习计划,真的很充实,学到了很多不只是开发方面的知识. 以下简单记录下自己的笔记,方便以后查阅. 1.文件系统 Linux系 ...

  5. Linux常用指令整理

    Linux常用命令整理 快捷键 [Tab] [Tab] 接在一串指令的第一个字的后面,则为"命令补全": [Tab] 接在一串指令的第二个字以后时,则为"文件补齐&quo ...

  6. Linux常用指令总结

    概述 因为平时不是经常使用Linux系统,每次用到都需要重新温习一遍,这里对自己平时经常使用到的指令做个小结,方便后面直接查阅. 常用指令 登陆root指令 sudo su - 安装软件及卸载指令 d ...

  7. linux常用指令学习记录

    前言 本文主要为学习贴,用来记录一些 linux上的常用指令 以供参考. 文件内容查看 cat 从上往下阅读文件内容 cat [-AbEnTv] ${FILE_NAME) cat -n /etc/is ...

  8. Linux常用指令全集

    Linux简介及Ubuntu安装 常见指令 系统管理命令 打包压缩相关命令 关机/重启机器 Linux管道 Linux软件包管理 vim使用 用户及用户组管理 文件权限管理 大牛笔记-www.weix ...

  9. Linux | Linux常用指令学习笔记

    @ 目录 前言 1. Linux目录结构: 2. 运行级别: init.systemctl 3. vim相关快捷键: 4. 开关机相关命令: shutdowm.halt.reboot.sync.log ...

随机推荐

  1. rest-framework之版本控制

    rest-framework之版本控制 本文目录 一 作用 二 内置的版本控制类 三 局部使用 四 全局使用 五 示例 源码分析 回到目录 一 作用 用于版本的控制 回到目录 二 内置的版本控制类 f ...

  2. vue项目的创建

    https://jingyan.baidu.com/article/456c463b359e630a5931444e.html

  3. 《DSP using MATLAB》Problem 5.13

    1. 代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output ...

  4. css中的margin(外边框)、border(边框)、padding(填充)的区别

    Margin(外边距) - 清除边框外的区域,外边距是透明的. Border(边框) - 围绕在内边距和内容外的边框. Padding(内边距) - 清除内容周围的区域,内边距是透明的. Conten ...

  5. Tomcat环境变量配置命令行报错:The JRE_HOME environment variable is not defined correctl This environment variable is needed to run this program

    1. tomcat——>bin——>setclasspath.bat,使用记事本打开. 2. 添加如下代码即可: 为自己实际的环境变量配置为准!!! set JAVA_HOME=D:\ID ...

  6. Android中控制Dialog呈现的时间

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zinss26914/article/details/36900157 用线程控制dialog的呈现时 ...

  7. MySQL 安全整理

    MySQL 安全整理 关闭外网的端口访问. 使用高位的端口号. 如果需要外网访问不给最高的权限. 如果需要外网访问也是绑定客户端. To be continued

  8. FastAdmin 新年福袋进行中

    FastAdmin 新年福袋进行中 2019新年福袋活动正在进行中 https://www.fastadmin.net/act/20190101/springfestival.html

  9. java编程调试技巧

    1 多线程调试 开发过多线程应用的朋友应该有体会,有些时候,为了观察多个线程间变量的不同状态,以及锁的获取等,就会想到在代码里加个断点debug一下. 在IDE里断点停下来的时候,可以切换到另外的线程 ...

  10. [ERROR] InnoDB: ibdata1 different size (rounded down to MB)

    启动mysql实例报错,查看 error log ## 错误信息2018-08-31T10:38:36.945081Z 0 [ERROR] InnoDB: The Auto-extending inn ...