linux命令学习记录

Posted 喵喵扑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令学习记录相关的知识,希望对你有一定的参考价值。

一、文件处理命令

1.建立目录:mkdir

格式:mkdir -p [文件名]

-p:递归创建

例如:mkdir test --在当前目录下创建一个test文件夹

        mkdir -p test/lxw    --递归创建

2.切换所在目录

格式:cd [目录]

例如:cd /home/ --从当前目录切换到根目录的 home 文件夹下面

简化操作:

   cd ~      --进入当前用户的家目录
   cd 

   cd -      --进入上次目录

   cd ..     --进入上一级目录

   cd .      --进入当前目录

3.删除目录

(1)删除空目录:rmdir [文件名]

格式:rmdir [文件名]

例如:rmdir test --只有空的文件才能删除

(2)删除文件:rm

格式:rm -rf [文件或者目录]

-r    --删除目录

-f    --强制删除

例如:rm -rf test  --无提示删除文件夹 test

4.复制命令:cp

格式:cp [选项] [原文件名或目录名] [目标目录]

选项:

-r   --复制目录

-p   --连带文件属性复制

-d   --如果原文件是简介文件,则复制链接属性

-a   --相当于 -pdr

例如:cp test.cfg /test/ --复制当前目录下的test.cfg到 test文件夹下

cp -r abc/ /test/   --复制当前目录下的abc文件夹到test文件夹下

cp -p abc/ /test/   --复制当前目录下的abc文件夹到test文件夹下(完整复制)

cp -p abc/ /test/   --复制当前目录下的abc文件夹到test文件夹下(完整复制,常用的)

5.剪切命令或者改名命令:mv

格式:mv [原文件名或目录名] [目标目录]

例如:mv abc/ /test/ --剪切abc到test文件夹下

mv abc def  --把abc文件改名为def

注意:如果目标文件在当前目录下,则是改名,如果不在,则是剪切;

6.链接命令: ln

格式:ln -s 原文件 目标文件

(1)硬链接

例如:ln /root/abc.zip /tmp/abczip.r   --把文件abc.zip在/tmp/下创建一个名为abczip.r的硬链接 

(2)软连接

例如: ln -s /home/test/wen.txt /home/wen.r    --把文件wen.txt在/home/下创建一个名为wen.r的软连接

二、文件搜索命令

查询目录中的内容:ls

-a :查看全部文件,包括隐藏文件

-l :显示详细的信息

-h :人性化显示

-d :查看目录的属性

-i:显示文件的i节点号

查看当前文件的所在位置:pwd

1.locate:搜索速度快

格式:locate 文件名

例如:locate Linux学习笔记.txt --搜索Linux学习笔记.txt文件

注意:locate 搜索的是数据库,新建的的文件需要更新才能找到

2.whereis :搜索命令的命令

格式:whereis [-b][-m] 命令名

-b:只查找可执行文件

-m:只查找帮助文件

注意:不写参数查找可执行文件和帮助文件

例如:whereis ls   --查找ls命令 

      whereis -b ls --查找ls命令的可执行文件 

      whereis -m ls --查找ls 命令的帮助文件 

3.which 搜索命令的命令,如果这个命令有别名,他会找到这个别名

格式:which 命令名

例如:which ls --查找ls命令 ,并显示出他的别名
  1. find 命令
格式:find [搜索范围] [搜索条件]

(1) find [地址] -name [文件名] :按文件名搜索

   例如:find /home/test/ -name wen.txt    --在/home/test/下查找文件名为wen.txt的文件

   注意:如果想模糊查询,则需要使用通配符,常见的通配符有(*:任意字符;?:任意一个字符;[]匹配任意一个中括号呢的内容,通配符通常使用英文双引号包裹)
     
     例如:find /home/test/ -name "*.txt"      --在/home/test/下查找文件名为 .txt 结尾的文件
            
           find /home/test/ -name "wen.tx?"     --在/home/test/下查找文件名为 wen.tx 开头,以任意一个字符结尾的文件  

           find /home/test/ -name "w[eb]n.txt"  --在/home/test/下查找文件名为 wen.txt 或者 wbn.txt 的文件


(2)find [地址] -iname [文件名]:不区分大小写搜索,与 -name 基本相同


(3)find [地址] -user[文件名]:按所有者搜索

  例如:find /root -user root  --在 /root 下查找属于root的文件

  ps:find /root -nouser :查找没有所有者的文件(没有所有者的文件,不是外来文件和内核产生的文件,就是垃圾文件,请手动删除.)

?
(4)find [地址] -mtime 时间:按时间搜索

  -10:10天内修改的文件

  10:第10天修改的数据

  +10:10天前修改的数据

  例如:find /home/test -mtime -10 --搜索/home/test文件下 10天内修改的文件

  ps:除了可以搜索修改的数据外,还可以搜索改变属性,访问时间的文件(-atime:文件访问时间;-ctime:文件属性改变时间)


(5)find [地址] -size 文件大小:按文件大小搜索

  -25k:表示小于25KB

  25k:表示扥与25KB

  +25k:表示大于25KB

  例如:find /home -size +25k  --查找/home下大于25kb的文件

  ps:表示kb的用小写字符k,表示兆的用大写字符M
    
    例如:find /home -size -1M --查找/home下小于1M的文件


(6)find [地址] -inum 文件i节点:按文件节点查找

   例如:find /home -inum 2396179  --查找/home i节点为 2396179 的文件

?
(7)常见复合查询

  -a : and逻辑与,表示两边都成立

  -o : or逻辑或,表示只要有一边成立

  -exec 命令 {}; : 对搜索的结果进行操作

  例如:find /home -size +20k -a -size -50k        --查找/home下大于20k并且小于50k的文件

            find /home -size -20k -o -size +50k  -exec ls -lh {} ; --查找/home下小于20k或者大于50k的文件,并执行 ls -lh 命令
    
            find /home -inum  2396179 -exec rm -rf {} ;        --查找/home下 i节点为 2396179 的文件,并删除它

(8)gerp [选项] 字符串 文件名:字符串搜索命令

       -i   忽略大小写

       -v   排除指定字符串

       例如:grep "a" a.txt    --查询a.txt文件中的a字符串

    grep -iv "a" a.txt  --查询a.txt文件中不包含a字符串

三、文件帮助命令 man

 格式:man [选项] 命令名

 1.基本的:man ls   --查看ls命令的帮助文档

ps:使用 / -命令查看对应的信息  

例如:/ -h  --查看-h对应的信息

 2.查看man的帮助级别:man -f 命令名,相对应whatis

    例如:man -f ls    --查看ls的帮助级别,等同于whatis

 3.按帮助级别查看帮助:man -帮助级别 命令名 

例如:man -1 ls -- 查看级别1的ls命令的帮助

 4.查看和命令相关的所有命令:man -k 命令

ps:apropos 和man -k 用法一样

例如:man -k ls    --查看所有和ls有关的命令

  5.其他帮助命令

(1)help命令 : 命令 --help 

    例如:ls --help    --查看ls的帮助并退出命令

(2)内部命令:help 命令 

    例如:help cd  --查看cd命令的帮助文档

(3)详细信息命令:info 命令

    例如:info ls  --列出ls命令的详细命令

    ps:info中  -回车:进入子帮助页面(带*号的)
          
          -u:进入上层

          -n:进入下一个帮助小节

          -p:进入上一个帮助小节

          -q:退出

四、压缩与解压缩命令

  1.zip格式:

(1)压缩命令:zip 压缩文件夹名 源文件 

-r:压缩文件

    例如:zip jp.zip jp        --压缩文件夹jp并命名为jp.zip

              zip -r a.zip a.txt    --压缩文件a.txt命名为a.zip

(2)解压命令:unzip 文件名

    例如:unzip a.zip      --解压a.zip文件


  2.gzip格式:.gz格式的压缩源文件会消失

(1)压缩命令:gzip 源文件名 

    例如:gzip a.txt   --压缩a.txt并输出a.txt,压缩文件命名为 a.txt.gz 

        ps: 如果想不消失源文件可以用 -c 打印压缩内容,再用>写入文件中 
    
    例如:gzip -c a.txt > a.gz --把a.txt文件压缩后写入a.gz中
    
    如果想压缩目录可以使用 -r ,但是只能把目录中的子文件压缩,目录本身不能被压缩

(2)解压命令:gzip -d 文件名 或者 gunzip 文件名
    
    例如:gzip -d  a.gz        --解压a.gz文件和gunzip a.gz 一样

    如果想要解压目录,使用 gzip -dr 文件目录 ,解压压缩的目录


 3.bz2格式:.bz2格式的压缩源文件也会消失

(1)压缩命令:bzip2 源文件 (不支持压缩目录)

    例如:bzip2 a.txt  --压缩a.txt并删除源文件

    ps:如果想保存源文件使用 -k  
    
           例如:bzip2 -k a.txt    --压缩a.txt并保存源文件

(2)解压命令: bzip2 -d 压缩文件 或者bunzip2 压缩文件

    例如:bzip2 -d a.txt.bz2   --解压a.txt.bz2并删除源文件和bunzip2 a.txt.bz2 效果一样

    ps:如果想要保留源文件也是使用 -k 


 4.tar.gz格式:.tar:打包文件(常用的)

(1)压缩命令:先打包,再压缩

    例如:tar -cvf jp.tar jp  --打包jp目录;
        
              gzip jp.tar      --压缩jp.tar文件包

(2)解压命令:先解压压缩包,再解压打包

    例如:gzip -d jp.tar.gz    --解压jp.tar.gz压缩包,得到jp.tar打包文件

              tar -xvf  jp.tar      --解包jp.tar,得到文件目录

ps:

<1>tar格式的文件可以打包成任意格式的压缩包。

<2>tar.gz格式的压缩可以直接压缩,使用 :tar -zcvf 压缩包名.tar.gz 源文件名 格式
    
    例如:tar -zcvf jp.tar.gz jp   --直接把目录jp压缩为.tar.gz格式的压缩包

              tar -zxvf jp.tar.gz   --解压.tar.gz格式的压缩包

<3>tar.bz2格式的压缩也可以直接压缩,使用:tar -jcvf 压缩包名.tar.bz2 源文件名  格式

    例如:tar -jcvf jp.tar.bz2 jp  --直接把目录jp压缩为.tar.bz2格式的压缩包
    
              tar -jxvf jp.tar.bz2  --解压.tar.bz2格式的压缩包
      
<4>多文件压缩:只要把文件跟在后面即可

    例如:tar -jcvf jpa.tar.bz2 jp a.txt       --把jp目录和a.txt文件压缩成jpa.tar.bz2压缩包

    ps:也可以指定压缩到那个目录下,只要在文件名前加一个目录名即可
        
        例如:tar -jcvf /home/jpa.tar.bz2 jp a.txt     --把jp目录和a.txt文件压缩成jpa.tar.bz2压缩包并保存到home文件夹下面

<5>解压到指定位置:-C 目录

    例如: tar -jxvf jp.tar.bz2 -C /home/  --把文件jp压缩为.tar.bz2格式的压缩包,并放到home文件夹下面

<6>查看压缩包:tar -ztvf 压缩包名 (查看.tar.gz格式的压缩包)
    
              tar -jtvf 压缩包名 (查看.tar.bz2格式的压缩包)

    例如:tar -ztvf jp.tar.gz  --查看jp.tar.gz压缩包下的目录

              tar -jtvf jp.tar.bz2  --查看jp.tar.bz2压缩包下的目录

五、关机和重启命令

  1.shutdown命令 :shutdown [选项] 时间

-h:关机

-r:重启
 
-c:清除上一个命令

例如:  shutdown -h now    --表示现在关机

         shutdown -r 05:20  --表示在林晨5:20分重启(注意:这样会使终端卡住,一直到重启为止,我们需要把它放到后台去,在时间后面加上 & 符号即可)

         shutdown  -c       --终止关机或者重启命令


 2.其他的关机命令(注意,远程服务器一般不要关机,直接重启即可)

halt:命令会先检测系统的runlevel,若runlevel为0或6,则关闭系统,否则即调用shutdown来关闭系统。

poweroff:命令用来关闭计算机操作系统并且切断系统电源。

init 0 :使用系统的运行级别来关机


 3.其他的重启命令:

reboot:命令用来重新启动正在运行的Linux操作系统。

init 6:使用系统的运行级别来重启。


 ps:系统的运行级别

# 0 - 停机(千万不能把initdefault 设置为0 )

# 1 - 单用户模式(安全模式)

# 2 - 多用户,没有 NFS(没有共享服务的)

# 3 - 完全多用户模式(标准的运行级-字符界面:推荐的)

# 4 - 没有用到

# 5 - X11 (xwindow图形界面)

# 6 - 重新启动 (千万不要把initdefault 设置为6 )

我们可以用 init 来切换运行级别。例如:init 5  --进入图形界面  ;  init  3  --进入字符界面

 4.退出登录命令:

logout:用于退出当前登录的Shell,logout指令让用户退出系统,其功能和login指令相互对应。


exit:退出控制台,对于多层shell,用于逐层退出,到最顶层shell,作用就和logout相同。 

六、其他常用命令

 1.挂载命令:mount (一般只有实体机的linux操作系统才用得到,服务器等一般通过网络传输)

-l:显示已加载的文件系统列表和不写一样;

-a:自动挂载分区

格式:mount [ -t 文件系统] [-o特殊选项] 设备文件名 挂载点 

挂载光盘的步骤:

       (1)创建挂载目录:mkdir /mnt/cdrom

       (2)挂载光盘:mount /dev/sr0 /mnt/cdrom(光盘的默认文件系统-t为iso9660,所以可以省略)

       (3)访问光盘:cd /mnt/cdrom 进入挂载点即可访问光盘里的数据

挂载u盘的步骤:(因为U盘是和硬盘一样,所以我们需要用 fdisk -l 找到他的设备名,这里我们假设U盘的设备名为sdb1)

      (1)创建挂载目录:mkdir /mnt/usb

      (2)挂载U盘:mount -t vfat /dev/sdb1 /mnt/usb(linux不支持ntfs文件系统)

      (3)访问U盘:cd /mnt/usb

  2.卸载命令:umount 设备名或者文件挂载点

例如:umount /mnt/cdrom

  3. w:用于显示已经登陆系统的用户列表,并显示用户正在执行的指令。
 
  4. who:列出登入帐号,使用的终端机,登入时间以及从何处登入或正在使用哪个X显示器。

  5. last:用于显示用户最近登录信息。单独执行last命令,它会读取/var/log/wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。

  6. lastlog:用于显示系统中所有用户最近一次登录信息。

  7.数据库更新命令:updatedb 

  8.查看环境变量:echo $PATH

  9.查看ip:ifconfig 

常见一级目录

/ 根目录

/bin 存放必要的命令

/boot 存放内核以及启动所需的文件等

/dev 存放设备文件

/etc 存放系统的配置文件

/home 用户文件的主目录,用户数据存放在其主目录中

/lib 存放必要的运行库

/mnt 存放临时的映射文件系统,我们常把软驱和光驱挂装在这里的floppy和cdrom子目录下。

/proc 存放存储进程和系统信息

/root 超级用户的主目录

/sbin 存放系统管理程序

/tmp 存放临时文件的目录

/usr 包含了一般不需要修改的应用程序,命令程序文件、程序库、手册和其它文档。

/var 包含系统产生的经常变化的文件

快捷键:

ctrl + L  --清屏


以上是关于linux命令学习记录的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令学习-history命令

linux学习记录

Linux学习之路:命令别名历史记录和命令查找执行顺序

提效小技巧——记录那些不常用的代码片段

Linux常用命令学习记录

Linux常用命令学习记录