Linux常用命令

1.  常用命令

  1.查看当前所在目录(拷贝目录到一些配置文件)

  pwd

  2.切换目录(需要到特定的目录执行命令)

  cd 目录名

  Tab补全

  3.查看目录文件信息

  ls //列出文件信息

  ls -l //以详细信息方式列出文件信息

  ls –a //列出所有文件和文件夹,包含隐藏文件

  ls -al //以详细信息方式列出所有文件信息,包含隐藏文件

  ls 目录名  //查看该目录的文件信息

  ll //等于ls -l

 

  4.查看当前用户

  whoami    //查看当前操作用户

  who am i  //查看当前登录用户(有可能是有多个的)的信息

 

  5.切换用户

  su 用户名:切换用户

  su root:普通用户切到root用户;

  su - //切换到root用户

  su - root //切换到root用户和su - 一样

   su - user //切换到user用户

  su user //切换到user用户,不切换用户权限

   exit  //注销当前用户,返回前一用户

注意:

  su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了

 

2.  文件相关命令

  在学习文件相关命令之前,我们先来看一Linux的文件系统

  2.1.   文件系统

  (1)文件系统结构

  Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的。

      linux系统的目录结构是一个以/(根目录)为根节点的树形结构

  (2)系统目录介绍

  /bin 存放二进制可执行文件(命令),所有用户都可以使用

  /sbin 存放二进制可执行文件,只有root用户可以使用

  /boot 系统启动需要的核心文件

  /dev 设备文件

  /home 用户的主目录,每一个非root用户都会在home有一个为用户名的文件夹

  /lib 系统共享动态链接库

  /mnt 挂载目录,通常挂载到该目录下

  /etc 存放系统配置文件目录

  /etc/passswd 用户信息文件

       /etc/group 用户组信息文件

  /var 用来存放常态性变动的文件,经常发生变化的文件。比如缓存、登录文件,mysql数据库文件等

  /tmp  临时目录,用来存放临时文件

  /proc 虚拟目录,是内存的映射,可以访问到内存中的系统信息

  /sys 和proc类似,存放和内核相关的信息和数据

  /root root用户的主目录

  /usr 存放应用程序和文件(类似于windows的system32、program files目录)

  /usr/local/src  所有应用程序包都放这儿

  /usr/local/ 所有的应用程序都安装在这个目录。

  /usr/bin、/usr/sbin:这是对/bin、/sbin的一个补充

  2.2.   目录操作命令

  讲具体目录命名之前我们需要定位我们的目录或文件,就需要掌握相对路径和绝对路径

  (1)相对路径和绝对路径

  绝对路径:

    以/(根目录)开头的路径(例如/home、/etc/passwd)

  相对路径:

    以./开头的路径,./可以省略(指相对于当前路径)

           ./    表示当前目录(可以省略) ./usr/loccal/=usr/local

           ../  表示上一级目录(两个点)

  路径的最后一个斜杠可以省略

  (2)命令

    创建目录 

    mkdir 目录名  //创建一个目录

    mkdir -p 目录1/目录2/目录3  //递归创建目录

    删除目录

    rm -rf 路径  //可以删除文件和目录    -r(递归) -f(暴力)

    移动目录

    mv dir1 dir2 如果dir2不存在,将dir1目录名修改为dir2(重命名),否则将dir1目录移动到dir2中

    目标路径存在,就是移动,不存在就是重命名.

    mv d1 d2/d3 如果d2存在d3不存在,把d1移动到d2中并且改名为d3,否则把d1移动到d2/d3下面

    总结:是移动还是重命名,就看第二个参数路径是否存在。存在就移动,不存在就改名。

    复制目录

    cp -rf dir1 dir2 //将dir1复制一份到dir2目录(包含目录内容一起复制)

    cp -rf dir1/* dir2 //直接复制内容(非常重要)

    特殊路径和快速切换路径

    特殊目录 ~ 表示用户主目录

    快速切换目录     

    cd ~  //切换到用户主目录

    cd - //切换到上次目录

  2.3.   文件相关命令

  创建文件

    touch 文件路径         //创建一个空白文件

  查看文件内容

    cat  //将文件内容直接显示出来

    more  //将文件内容分屏显示(按回车显示下一行,按空格显示下一屏)Ctrl+C退出

    less  //将文件内容分页显示(pageup上一页,pagedown或空格下一页,回车显示下一行,q退出)

    head //显示文件的前面几行内容

    head -n 3 1.txt  //显示文件前3行内容

    head -n -3 1.txt //显示文件内容,除了最后3行

    tail  //显示文件后几行内容

    tail -n  3 1.txt  //显示文件后3行内容

    tail -n +3 1.txt //显示文件内容,除了最开始3行

    tail -f   //动态显示文件内容,默认十行,可以配合-n使用

    tail -n 3 -f 1.txt  //动态显示文件后3行内容(查看最新日志(实时更新))

  添加内容到文件

    > 和 >>  //输出重定向,> 覆盖写 , >> 追加写

    echo hello > 1.txt     //以覆盖写的方式将hello字符添加到文件1.txt

    echo world >> 1.txt    //以追加的方式将world字符添加到文件1.txt

    cat 2.txt > 1.txt  //将2.txt文件的内容覆盖到1.txt

    cat 2.txt >> 1.txt      //将2.txt文件的内容追加到1.txt

  查找文件

  find

  直接从硬盘查找文件,搜索速度慢,但是能实时搜索

  参数

  –name //以文件名作为参数进行查找

  -mindepth //最小目录层次

  -maxdepth //最大目录层次

  其他参数通过man或者--help参数学习

  示例:find -maxdepth 3  -name passwd

原文地址:https://www.cnblogs.com/wanghj-15/p/11291097.html