Linux下的基本命令详解

             Linux系统不像windows系统那样图形界面做的那么美观漂亮,点击图标即可,Linux下都是使用命令行的形式来和系统进行交互(当然也有图形界面,只是做的不是那么完善),使用Linux命令相比而言还是比较方便的。我们知道windows使用的命令行的方式是DOS命令,Linux下是使用的命令则是shell命令,每一条命令都会被shell命令行解释器解析执行的。

        以下将带领大家学习下Linux下常用的一些基本命令,有了这些命令我们就可以打开Linux的大门去和它进行交流。当然我们查看命令的详细的内容可以通过man+命令的方式获取有关命令的帮助文档,关于man命令的使用如下:

(序):

          man  man   ->  查阅man的帮助文档

  man  1 命令  ->查阅命令的相关文档  eg:man 1 ls

          man  2  系统调用函数接口    eg:man 2 open

          man 3   库函数调用接口   eg:man 3 fopen

         这几个是最常用的,其他的用到的时候可以查阅。

以下为man 加上数字的含义:

   

 (1)ls

 作用:列出目录的内容

【1】ls +相对路径

ls  或  ls  .           ->     列出当前目录下的内容

ls ..                ->    列出上一级目录下的内容

 ls  ./dir  或 ls dir        ->    列出当前目录下的dir目录下的内容

【2】ls + 相对路径

ls  /home/linux/dir  或 ls ~/dir   ->列出/home/linux/dir 目录下的内容

【3】ls  -l  文件名/路径 <---> ll  文件名/路径      ->查看文件的详细信息(eg:ls -l file)

          ls -li  文件名/路径                                         ->查看文件的详细信息(包括inode号)

【4】ls -R  --->以目录树的形式显示目录内容

  (2)cd 

作用:切换路径

【1】cd +相对路径

cd   或 cd ~           ->     切换到家目录(eg:进入/home/linux下)

cd  /                      ->      切换到根目录下

cd -                      ->      切换到上一次路径

cd ..                     ->      切换到上一级路径

【2】cd + 相对路径

cd  /home/linux/dir  或 ls ~/dir   ->切换到/home/linux/dir 目录下

 (3)touch

作用:创建一个文件,更新文件的时间戳

touch  file                       ->如果file这个文件不存在,创建file这个文件;如果file这个文件存在,更行file的时间戳

touch   file1 file2 file3     ->  创建file1、file2、file3(创建多个文件)

  (4)mkdir 

作用:创建一个目录

mkdir   dir                        ->创建一个目录

mkdir  dir1/dir2/dir3    -p    ->递归创建多级目录

   (5)rm 

作用:删除一个文件或者目录

rm  file        ->  删除文件

rm dir   -r    ->  递归删除目录

    (6)mv

作用:移动或者重命名

mv  src_file / src_dir      dst_file / dst_dir        ->  移动(源和目的都存在)或者重命名(目的不存在)

   (7)cp

作用:拷贝文件或者目录

cp   src_dir      dst_dir          ->把原来的目录拷贝一份       eg: cp   ../dir/file  dir/  将上一级目录下的dir/file拷贝di下

cp   src_dir      dst_dir   -a    ->把原来的目录拷贝一份(所有)

cp   src_dir      dst_dir   -r     ->把原来的目录拷贝一份(递归),用于拷贝目录

     (8)cat   tac  more

作用:在终端显示文件内容(不打开文件)

cat  file        ->查看file内容

tac  file       ->反向输入一个文件的内容

more  file  ->显示一个文件一个屏的内容(用于文件内容比较多的情况,按 空格 查看下一屏,q退出)

    (9)通配符

匹配一个字符  ?        
匹配任意长度的字符串  *   eg:   *.txt    
匹配指定的字符1和3   [13]   eg:[13].txt  ---1.txt  2.txt
匹配一个指定范围的单个字符  [1-3]   eg:[13].txt  ---1.txt  2.txt  3.txt 
匹配除了指定字符外的字符  [^1] 

      (10)重定向
     
      改变输入和输出的方向,这就叫做重定向。

     1-- 输出重定向,新建模式。  
         ls > test.txt  文件不存在创建,存在清零

     2-- 输出重定向,追加模式
         ls  >>  test.txt   文件不存在创建,存在追加到末尾

     3-- 输入重定向
          <
          wc  <  test.txt

     4-- 出错重定向
         2>  ,  2>>  (2表示标准出错)
         &>  ,  &>>

      (11)echo 

 作用:显示一行文本

echo  "hello"        ->  终端输出字符串(带引号原样输出,不带引号有多个空格只会保留一个)

echo -n "hello"    ->  终端输出字符串(不换行)

echo -e  "hello\nworld"   ->遇到\n换行 

echo "hello"  >> file   ->重定向字符串到文件中(追加方式)

         (12)  diff
作用:比较两个文件的异同
 diff    file1  file2  -> 比较file1和file2的内容
        (13)df  
作用:  用于查看磁盘空间的使用情况。
      df  -aTh      a:所有   T:类型   h: K,M,G(人类可识别)识别)

       (14)du 
作用:查看文件的大小
      du  -ah   file 测所有的文件的大小

       (15)wc  

作用:测试文件的行数、字符数、字节数

      wc  -l  file.txt测试行数
     wc  -w  file.txt    测试单词的个数
     wc  -m  file.txt    测试的是字符数
     wc  -c  file.txt    测试的是字节数
      (16)管道
作用:管道道可以把一系列命令连接起来,第一个命令的输出可以第二个命令的输入...
     |    表示 管道
     ls  /usr/bin  | wc -w
   (17)命令置换
作用:命令替换是将一个命令的输出作为另一个命令的参数
     ls  `pwd`(为esc下的 ``)
   (18)进程相关命令
ps      查看进程信息  // process snapshot  进程快照
ps ajx    进程详细信息
ps aux  进程更加详细信息

top    动态显示系统中的进程
shift + <  shift + >  进行翻页操作       q     退出

kill     给进程发送一个信号
kill -l  列出当前系统支持的信号种类
kill  -9  pid   杀死pid这个进程

pstree  树状形式,显示进程的信息
./a.out &  就是将一个进程放到后台运行。
     (19)查找字符串 grep    find
      1-- 知道内容,找文件(按字符串查找文件路径
格式:grep   [选项]   “描述” [路径]
          grep  "关键词"  ./*     -R  <==> grep "内容"  路径  递归   (./ 为当前路径   * 所有文件)  
          eg:grep  "main"  ./*     -R
      2-- 知道文件名字,找路径(按名称查找文件路径)
格式:find  [路径]   [选项]   [描述]
          find   ./* -name  文件名   eg:find ./* -name copy.c 
         eg:find  .  -type   d/f   -name  filename
         find  .  -type   d/f   -mtime  -10  //最后更改时间  十天内
         find  .  -type   d/f   -atime  -10   //访问时间
     (20)date   cal 
作用:显示日期/日历
      sudo  date -s  hh:mm:ss    修改时间
      sudo  date -s  mm/dd/year   修改年月日
      修改时区:
      cp  /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime
      cal  显示日历
    (21)网络配置

     1-- ifconfig  查看网络信息
         sudo ifconfig eth0  down  关闭网卡
         sudo ifconfig eth0  up    开启网卡
     2-- ping  测试网络是否畅通
         ping  域名
         ping  ip地址
         对方开着防火墙, 那么 ping 不通
     3-- nslookup  域名解析
         nslookup  网址
         nslookup  ip地址
   (22)uname  -r    查看内核版本号
                   uname -a    查看linux内核等的一些信息(详细)
                   uname -n    查看计算机名称
                   
   (23)软件包的安装

【1】本地安装:
sudo dpkg -i   .*deb          安装软件包(当前路径下的deb包)
sudo dpkg -r   软件名          卸载软件包(不删除配置文件)
sudo dpkg -P   软件名          卸载软件包(删除配置文件)
sudo dpkg -s  软件名          查看软件包安装状态
sudo dpkg -L   软件名          查看软件包的安装列表

【2】在线安装:
sudo vi   /etc/apt/source.list       打开此文件是镜像源(服务器网站)
sudo vi   /var/cache/apt/archieves      打开存放的是在线下载的软件包(*.deb)
sudo vi   /lib/apt/lists      打开引索文件
sudo apt-get  install  软件名       安装软件包
sudo apt-get  updata        更新软件源
sudo apt-get remove--purge   软件名       删除文件包括配置文件
sudo apt-get remove  purge   软件名       删除文件不包括配置文件
sudo apt-get clean        删除缓冲中的软件包
sudo apt-get cheak        检测软件包的依赖关系
sudo apt-cache policy 软件包        查看软件包安装状态
sudo apt-cache show  软件包        查看软件包信息
sudo apt-cache depend  软件包        查看软件的依赖关系
sudo apt-cache redepends 软件包        查看软件的被依赖关系
    (24)mkfifo  管道名称   创建管道文件

    (25)ipcs  
ipcs  -m    查看当前系统上存在的共享内存
         ipcrm -m  shmid    删除当前系统上指定的共享内存
ipcs -s          查看当前系统上存在信号量集合
        ipcrm -s semid          删除当前系统上指定id的信号量集合

    (26)sudo shutdown   -r(重启)/-h(关机)     now(立刻)/+30(30分钟后)/12:00       关机和重启
                    sudo  reboot   ---->重启
   (27)文件的压缩

      1-- gzip  压缩 , 没有归档功能, 文件夹不能被压缩
          gzip  filename             // 生成 filename.gz
          gunzip  *.gz               // 解压

      2-- bzip2 压缩, 没有归档功能
          bzip2  filename
          bunzip2  *.bz2

      3-- zip 压缩, 压缩文件和文件夹
          zip  filename.zip  filelist
          unzip  *.zip

      4-- tar  归档并且压缩
          tar  -cjf   *.tar.bz2   filelist    //压缩
          tar  -xvf   *.tar.bz2       // 解压
          tar  -czf   *.tar.gz    filelist
          tar  -xvf   *.tar.gz       // 解压    
     (28) od
               od -c file   以可读文本的形式在终端打开
     (29) head    tail 
                        head    显示文件开头部分的内容, 默认显示前10行
                         tail   显示文件末尾部分的内容,默认显示后10行
     (30)ln 
     1-- 硬链接(两个文件的inode号相同,是同一个存储区域,修改一个另一个也改变)
         并没有创建新的文件,所以不占新的空间,主要是用来对文件进行备份使用的
         ln  filename  linkfile  不允许对目录硬链接
         ls  -lhi
         ls -li  (查看inode号)
     2-- 软链接(产生了新文件,开辟新的存储空间,应该用绝对路径,否则不能把链接文件放在其他目录)
         ln  -s  filename  linkname
         创建了新的文件,类似于windows 下面快捷方式  支持目录操作
        eg:   ln -s `pwd`/file  link(绝对路径
    (31)用户管理
      1-- /etc/passwd   用户相关信息  sudo+vi+/etc/passwd打开
         linux:x:1000:1000:linux::/home/linux:/bin/bash 
         用户名:密码:uid:gid:用户信息:家目录:shell

      2-- /etc/group   组的相关信息
         linux:x:1000:
         组名:密码:组ID:成员列表,彼此用逗号隔开

      3-- /etc/shadow  密码具体信息

【1】添加用户
      sudo adduser  u1
          会在/home下建立以用户名为目录名的家目录
【2】删除用户
      sudo deluser --remove-home u1  
【3】将不同用户添加到同一个组中:
      usermod -g  组名 用户名       // usermod  -g  u1  u2
【4】删除组:
      delgroup   groupname
   (32)file  
作用:查看文件信息
  file+文件名
 
   (33)su  
作用: 切换用户
      su  用户名    
   (34)sudo 
作用:获得超级用户权限
eg:sudo vi /ect/network/interface
    (35)history  
作用:查看历史记录信息
     history  查看历史命令
     history  >> test.txt
     1-- 临时性
         直接修改  HISTSIZE=1000
         echo  $HISTSIZE
     2-- 永久性
         vi  .bashrc  s
         HISTSIZE=1500
         source  .bashrc  重启生效
     (36)pwd         
 作用: 获得当前终端所在的路径
    (37)whereis 
作用:查看命令位置
     whereis  命令名
     eg:whereis ls
     (38)chmod 
作用:修改权限
chmod   权限掩码   文件  
eg :chmod 777 file.sh
      chmod u+x file.sh
     (39)time
作用:查看命令/程序运行时间
time  ls
     (40)clear
作用:清屏
     (41)bc
作用:进入数学运算中
     (42)sed
作用:替换一个字符串等
eg:  sed "s#src_str#dst_str/g" file.txt > file.txt.tmp
       mv  file.txt.tmp   file.txt.tmp

       说到这里就把Linux的基本的常用命令说完了,当然Linux下的命令有很多,作为Linux系统管理员来说,这些命令是远远不够的,有许多我们没有见过的命令,在此就不在赘述。可能还有许多命令加上其他的参数之后还有其他的功能,对此可以通过查阅man手册来学习,对于其中不足指出望提出宝贵意见。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章