• linux---常用命令(二)


    导出文件到win:

     0.sz/rz命令:

     一般来说,linux服务器大多是通过ssh来进行远程的登陆和管理的,如何在命令方式下上和下载文件到服务器和本地呢?与ssh有关的两个命令可以提供很方便的操作:

       sz:将选定的文件发送(send)到本地机器

       rz:运行该命令会弹出一个文件选择窗口,从本地选择文件上传到服务器(receive)设置上

      scp:直接从一台主机发送到另一台主机         列:scp   路径+文件名称   主机名称@主机IP:所接受文件位置路径

    1、文件处理命令:ls

    功能描述:显示目录文件

    命令英文原意:list

    命令所在路径:/bin/ls

    执行权限:所有用户

    语法:  ls  选项[-ald]  [文件或目录]

            -a    显示所有文件,包括隐藏文件

    -l  详细信息显示

    -d  查看目录属性

            $ ls –a > dir.txt ← 将ls –a命令执行结果输出到dir.txt文件。

            $ ls –a >> dir.txt ← 将ls –a命令执行结果附加到dir.txt文件之后。

    2、文件处理命令:cd

    功能描述:切换目录

    命令英文原意:change directory

    命令所在路径:shell内置命令

    执行权限:所有用户

    语法:cd [目录]

    范例:  $ cd  / 切换到根目录

    $ cd    。。 回到上一级目录

    文件处理命令:pwd

    功能描述:显示当前所在的工作目录

    命令英文原意:print working directory

    命令所在路径:/bin/pwd

    执行权限:所有用户

    语法:pwd

    范例:  $ pwd

    /etc/rc5.d

    文件处理命令:touch

    功能描述:创建空文件

    命令名称:touch

    命令所在路径:/bin/touch

    执行权限:所有用户

    语法:touch  [文件名]

    范例:$ touch newfile

    文件处理命令:mkdir

    功能描述:创建新目录

    命令英文原意:make directories

    命令所在路径:/bin/mkdir

    执行权限:所有用户

    语法:mkdir  [目录名]

    范例:$ mkdir newdir

    文件处理命令:cp

    功能描述:复制文件或目录

    命令英文原意:copy

    命令所在路径:/bin/cp

    执行权限:所有用户

    语法:    cp  -R  [源文件或目录] [目的目录]

                  -R      复制目录

    范例:    $ cp  file1 file2  dir1

                  将文件file1、file2复制到目录dir1

    $ cp  -R dir1 dir2

                  将dir1下的所有文件及子目录复制到dir2

    文件处理命令:mv

    功能描述:移动文件、更名

    命令英文原意:move

    命令所在路径:/bin/mv

    执行权限:所有用户

    语法:mv  [源文件或目录]  [目的目录]

    范例:    $ mv  file1 file3

                  将当前目录下文件file1更名为file3

    $ mv  file2  dir2

    将文件file2移动到目录dir2下

    文件处理命令:rm

    功能描述:删除文件

    命令英文原意:remove

    命令所在路径:/bin/rm

    执行权限:所有用户

    语法:rm  -r   [文件或目录]

                    -r        删除目录

    范例:    $ rm file3

                  删除文件file3

                  $ rm -r dir1

                  删除目录dir1

    文件处理命令:cat

    功能描述:显示文件内容

    命令英文原意:concatenate and display files

    命令所在路径:/bin/cat

    执行权限:所有用户

    语法:cat [文件名]

    范例:    $ cat  /etc/issue

                  $ cat  /etc/services

                  $ cat preface.txt  more

                  逐页显示preface.txt的内容;

                  $ cat preface.txt >> outline.txt

                  将preface.txt 附加到outline.txt文件之后;

                  cat new.txt info.txt >readme.txt

                  将new.txt和info.txt合并成readme.txt文件;

    文件处理命令:more

    命令所在路径:/bin/more

    执行权限:所有用户

    语法:more  [文件名]

           (空格) 或f           显示下一页

           (Enter)           显示下一行

    q或Q            退出

    文件处理指令:head

    功能描述:查看文件的前几行

    指令所在路径:/bin/head

    执行权限:All User

    语法:    head  -num  [文件名] 

                  -num  显示文件的前num行

    范例:$ head  -20  /etc/services

    文件处理指令:tail

    功能描述:查看文件的后几行

    指令所在路径:/bin/tail

    执行权限:All User

    语法:    tail          -num  [文件名]

                  -num       显示文件的后num行

    -f            动态显示文件内容

    范例:$ tail  -30  /etc/services

    文件处理命令:ln

    功能描述:产生链接文件

    命令英文原意:link

    命令所在路径:/bin/ln

    执行权限:所有用户

    语法:    ln  -s  [源文件]  [目标文件]

                  -s  创建软链接

    范例:    $ ln -s  /etc/issue  /issue.soft

                  创建文件/etc/issue的软链接/issue.soft

                  $ ln  /etc/issue  /issue.hard

                  创建文件/etc/issue的硬链接/issue.hard

    权限管理命令:chmod

    功能描述:改变文件或目录权限

    命令英文原意:change the permissions mode of a file

    命令所在路径:/bin/chmod

    执行权限:所有用户

    语法:chmod  [{ugo}{+-=}{rwx}] [文件或目录]

    [mode=421 ]  [文件或目录]

    范例:    $ chmod  g+w  file1

                  赋予文件file1所属组写权限

                  $ chmod  777  dir1

                  设定目录dir1为所有用户具有全部权限

    代表字符

    权限

    对文件的含义

    对目录的含义

    r

    读权限

    可以查看文件内容

    可以列出目录中的内容

    w

    写权限

    可以修改文件内容

    可以在目录中创建、删除文件

    x

    执行权限

    可以执行文件

    可以进入目录

    权限管理命令:chown

    功能描述:改变文件或目录的所有者

    命令英文原意:change file ownership

    命令所在路径:/bin/chown

    执行权限:所有用户

    语法:chown  [用户] [文件或目录]

    范例:    $ chown  nobody  file1

                  改变文件file1的所有者为nobody

    权限管理命令:chgrp

    功能描述:改变文件或目录的所属组

    命令英文原意:change file group ownership

    命令所在路径:/bin/chgrp

    执行权限:所有用户

    语法:chgrp  [用户组]  [文件或目录]

    范例:    $ chgrp adm file1

                  改变文件file1的所属组为adm

    权限管理命令:umask

    功能描述:显示、设置文件的缺省权限

    命令所在路径:/bin/umask

    执行权限:所有用户

    语法:    umask [-S]

                  -S   以rwx形式显示新建文件或目录缺省权限

    范例:    $ umask

                  $ umask -S

    文件搜索命令:which

    功能描述:显示系统命令所在目录

    命令所在路径:/usr/bin/which

    执行权限:所有用户

    语法:which  [命令名称]

    范例:$ which ls

    文件搜索命令:find

    功能描述:查找文件或目录

    命令所在路径:/usr/bin/find

    执行权限:所有用户

    语法:find [搜索路径]  [搜寻关键字]

    范例:    $ find  /etc  -name  init

    在目录/etc中查找文件init

    $ find  /  -size  +204800

    在根目录下查找大于100MB的文件

    $ find  /  -user  sam

    在根目录下查找所有者为sam的文件

                  $ find  /etc  -ctime  -1

                  在/etc下查找24小时内被修改过属性的文件和目录

    $ find  /etc -size  +163840 -a -size  -204800

                  在/etc下查找大于80MB小于100MB的文件

                  $ find /etc -name inittab -exec ls -l {} ;

                  在/etc下查找inittab文件并显示其详细信息

    文件搜索指令:locate

    功能描述:寻找文件或目录

    指令英文原义:list files in databases

    指令所在路径:/usr/bin/locate

    执行权限:All User

    语法:locate [搜索关键字]

    范例:    $ locate file

                  列出所有跟file相关的文件

    文件搜索指令:updatedb

    功能描述:建立整个系统目录文件的数据库

    指令英文原义:update the slocate database

    指令所在路径:/usr/bin/updatedb

    执行权限:root

    语法:updatedb

    范例:# updatedb

    文件搜索命令:grep

    功能描述:在文件中搜寻字串匹配的行并输出

    命令所在路径:/bin/grep

    执行权限:所有用户

    语法:grep  [指定字串] [源文件]

    范例:# grep  ftp  /etc/services

                  $ grep text *.conf

                  ←搜索当前目录中扩展名为.conf且包含“text”字符串得文件。

                  $ grep:amd.conf:    ←拒绝不符权限得操作

                  $ grep:diskcheck.conf: ←拒绝不符权限得操作

                  $ grep:grub.conf    ←拒绝不符权限得操作

                  $ grep –s text *.conf   ←拒绝不符权限的操作之类的错误信息

    帮助命令:man

    功能描述:获得帮助信息

    命令英文原意:manual

    命令所在路径:/usr/bin/man

    执行权限:所有用户

    语法:man  [命令或配置文件]

    范例:    $ man ls

                  查看ls命令的帮助信息

                  $ man services

                  查看配置文件services的帮助信息

    帮助指令:info

    功能描述:获得帮助信息

    指令英文原义:information

    指令所在路径:/usr/bin/info

    执行权限:All User

    语法:info  [任何关键字]

    范例:    $ info ls

                  查看ls指令的帮助信息

    帮助指令:whatis

    功能描述:获得索引的简短说明信息

    指令名称:whatis  apropos  makewhatis

    指令英文原义:search the whatis database for strings

    指令所在路径:/usr/bin/whatis apropos

                  /usr/sbin/makewhatis

    执行权限:All User,All User,root

    语法:whatis apropos [任何关键字]

    范例:    $ whatis ls

                  $ apropos fstab              相当于man -k

                  # makewhatis

                  建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database 没有建立

    压缩解压命令:gzip

    功能描述:压缩文件

    命令所在路径:/bin/gzip

    执行权限:所有用户

    语法:gzip  选项[文件]

    压缩后文件格式:.gz

    压缩解压命令:gunzip

    功能描述:解压缩.gz的压缩文件

    命令所在路径:/bin/gunzip

    执行权限:所有用户

    语法:gunzip  选项[压缩文件]

    范例:$ gunzip file1.gz

    压缩解压命令:tar

    功能描述:打包目录

    命令所在路径:/bin/tar

    执行权限:所有用户

    语法:tar  选项[cvf]  [目录]

                  -c  产生.tar打包文件

                  -v  显示详细信息

    -f     指定压缩后的文件名

    -z    打包同时压缩

    压缩后文件格式:.tar.gz

    范例:    $ tar  -zcvf   dir1.tar.gz  dir1

                  将目录dir1压缩成一个打包并压缩的文件

    tar命令解压缩语法:

    -x    解包.tar文件

    -v    显示详细信息

    -f     指定解压文件

    -z    解压缩

    范例:$ tar  -zxvf  dir1.tar.gz

    压缩解压命令:zip

    功能描述:压缩文件或目录

    命令所在路径:/usr/bin/zip

    执行权限:所有用户

    语法:    zip  选项[-r]  [压缩后文件名称]  [文件或目录]

                  -r     压缩目录

    压缩后文件格式:.zip

    范例:    $ zip  services.zip  /etc/services

                  压缩文件

                  $ zip  -r  test.zip  /test

                  压缩目录

    压缩解压命令:unzip

    功能描述:解压.zip的压缩文件

    命令所在路径:/usr/bin/unzip

    执行权限:所有用户

    语法:unzip  [压缩文件]

    范例:$ unzip test.zip

    压缩解压命令:bzip2

    功能描述:解压缩

    命令所在路径:/usr/bin/bzip2

    执行权限:所有用户

    语法:    bzip2  选项[-k] [文件]

                  -k   产生压缩文件后保留原文件

    功能描述:压缩文件

    压缩后文件格式:.bz2

    范例:$ bzip2 -k file1

    命令所在路径:/usr/bin/bunzip2

    执行权限:所有用户

    语法:bunzip2  选项[-k] [压缩文件]

                                -k   解压缩后保留原文件

    范例:$ bunzip2  -k file1.bz2

    网络通信指令:write

    功能描述:向另外一个用户发信息,以Ctrl+D作为结束

    指令所在路径:/usr/bin/write

    执行权限:All User

    语法:write  <用户名>

    范例:   $ write  webmaster

    网络通信指令:wall

    功能描述:向所有用户广播信息

    指令所在路径:/usr/bin/wall

    执行权限:All User

    语法:wall  [message]  [文件名]

    范例:   $ wall  Happy New Year!

    网络通信命令:ping

    功能描述:测试网络连通性

    命令所在路径:/usr/sbin/ping

    执行权限:root

    语法:ping  选项  IP地址

    范例:  #  ping 192.168.1.1

    网络通信命令:ifconfig

    功能描述:查看网络设置信息

    命令所在路径:/usr/sbin/ifconfig

    执行权限:root

    语法:ifconfig  选项[-a]  [网卡设备标识]

                                -a    显示所有网卡信息

    范例:# ifconfig  -a

    系统关机命令:shutdown

    功能描述:关机

    命令所在路径:/usr/sbin/shutdown

    执行权限:root

    语法:shutdown

    范例:# shutdown -h now

    系统关机命令:reboot

    功能描述:重启系统

    命令所在路径:/usr/sbin/reboot

    执行权限:root

    语法:reboot

    范例:# reboot

    加载光盘命令:mount     umount: 卸载光盘命令

    功能描述:加载光盘及软盘

    命令所在路径:/usr/sbin/reboot

    注意:    若要允许一般用户也能加载光盘或软盘,请修改/ect/fstab/设置文件

                  /dev/cdrom/mut/cdrom udf,iso9660 noauto,owner,kudzu,ro,user

                  ←若要让一般用户也加载光盘,请在此处加上“,user”项目。

    范例:    # mount   /dev/cdrom  /mut/cdrom   ←加载光盘

                  # umount  /mnt/cdrom         ←光盘卸载

    删除调度工作任务:crontab

    范例:    $ crontab –r ←删除任务调度中的工作

                  $ crontab  -1 ←再查看一次任务调度中的工作

    用户使用过的历史命令:history

    一.用户组管理

    1.       添加用户组

    groupadd 

    2.       删除用户组

    groupdel 

    3.       修改用户组

    groupmod 

    4.       切换用户组

    newgrp <groupname> 

    如果一个用户同时属于多个用户组,可以用 newgrp 命令切换至目的组,以便能够拥有该组的权限。

    5.       查看所有组

    所有组其实就是 /etc/group 文件的内容做一些过滤。

    cat /etc/group | awk -F: '{print $1}' 

    6.       查看用户所在组

    groups <username> 

     二.用户管理

     1. 添加用户

    useradd <username> -d <path> -m -g –G –p 

    常用的就是上面几个参数,意思分别为:

    -d :指定用户主目录。如果此目录不存在,同时使用 -m 就会创建此目录。

    -m :创建用户主目录

    -g :用户所属组 ID 

    -G :用户所属组名

    -p :登录密码。注意这个登录密码不是明文,是指加密后的密码。

    useradd testuser –m –G mygroup 

    将会创建一个 testuser 的用户,并自动创建 /home/testuser 的用户主目录,并将用户添加至 mygroup 组中。

    2. 删除用户

    userdel –f –r <username> 

    -r :删除用户主目录以及邮箱中的邮件

    -f :强行删除文件,即使属主不是该用户

    3. 修改用户

    usermod <username> -d <path> -m -g –G –p 

    参数意思与 useradd 大致相同

    4. 用户密码

    passwd <username>        :修改密码

    passwd –d <username> :命令将用户的密码删除,即下次登录无须密码。

    passwd –l <username>   :锁定用户,使其无法登录

    三.文件属主管理

    1. 更改属主

    chown –R <username>.<groupname> file 

    -R :表示递归更改

    chown –R testuser.newgroup testpath 

    上面的命令将 testpath 路径下的所有文件的拥有者都改为 testuser ,拥有组都改为 newgroup 。

    2. 设置文件掩码

    umask [a1 a2 a3 ] 

    用户可以使用 umask 命令设置文件默认的生成掩码。默认的生成掩码告诉系统创建一个文件或目录不应该赋予哪些权限。如果用户将 umask 命令放在环境文件 .bash_profile 中,就可以控制所有新建的文件和目录的访问权限。

    a1 表示的是不允许属主的权限, a2 表示的是不允许同组人的权限, a3 代表不允许其他人的权限。

    umask 022        :   表示设置不允许同组用户和其他用户有写的权限。

    umask              :   显示当前的默认生成掩码。

    CentOS最基本的20个常用命令

    1. man 对你熟悉或不熟悉的命令提供帮助解释
    eg:man ls 就可以查看ls相关的用法
    注:按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。

    2. ls 查看目录或者文件的属*,列举出任一目录下面的文件
    eg: ls /usr/man
    ls -l

    a.d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
    b.表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。

    3. cp 拷贝文件
    eg: cp filename1 filename2 //把filename1拷贝成filename2
    cp 1.c netseek/2.c //将1.c拷到netseek目录下命名为2.c

    4. rm 删除文件和目录
    eg: rm 1.c //将1.c这个文件删除

    5. mv 移走目录或者改文件名
    eg: mv filename1 filename2 //将filename1 改名为filename2
    mv qib.tgz ../qib.tgz //移到上一级目录

    6. cd 改变当前目录 pwd 查看当前所在目录完整路径
    eg: pwd //查看当前所在目录路径
    cd netseek //进入netseek这个目录
    cd //退出当前目录

    7. cat,more命令
    将某个文件的内容显示出来。两个命令所不同的是:cat把文件内容一直打印出来,而 more则分屏显示
    eg; cat>1.c //就可以把代码粘帖到1.c文件里,按ctrl+d 保存代码。
    cat 1.c 或more 1.c //都可以查看里面的内容。
    gcc -o 1 1.c //将1.c编译成.exe文件,我们可以用此命编译出代码。

    8.chmod 命令 权限修改 用法:chmod 一位8进制数 filename。
    eg: chmod u+x filenmame //只想给自己运行,别人只能读
    //u表示文件主人, g 表示文件文件所在组。 o 表示其他人 ;r 表可读,w 表可写,x 表可以运行
    chmod g+x filename //同组的人来执行

    9. clear,date命令
    clear:清屏,相当与DOS下的cls;date:显示当前时间。

    10. mount 加载一个硬件设备
    用法:mount [参数] 要加载的设备 载入点
    eg: mount /dev/cdrom
    cd /mnt/cdrom //进入光盘目录

    11. su 在不退出登陆的情况下,切换到另外一个人的身份
    用法: su -l 用户名(如果用户名缺省,则切换到root状态)
    eg:su -l netseek (切换到netseek这个用户,将提示输入密码)

    12.whoami,whereis,which,id
    //whoami:确认自己身份
    //whereis:查询命令所在目录以及帮助文档所在目录
    //which:查询该命令所在目录(类似whereis)
    //id:打印出自己的UID以及GID。(UID:用户身份唯一标识。GID:用户组身份唯一标识。每一个用户只能有一个唯一的UID和 GID)
    eg: whoami //显示你自已登陆的用户名
    whereis bin 显示bin所在的目录,将显示为:/usr/local/bin
    which bin

    13. grep,find
    grep:文本内容搜索;find:文件或者目录名以及权限属主等匹配搜索
    eg: grep success *    /*查找当前目录下面所有文件里面含有success字符的文件

    14. kill 可以杀死某个正在进行或者已经是dest状态的进程
    eg; ps ax

    15. passwd 可以设置口令
    16. history 用户用过的命令
    17. !! 执行最近一次的命令
    18. mkdir命令
    eg: mkdir netseek //创建netseek这个目录

    19. tar 解压命令
    eg: tar -zxvf nmap-3.45.tgz //将这个解压到nmap-3.45这个目录里

    14解压小全
    tar -I或者bunzip2命令都可以解压.bz2文件
    tar xvfj example.tar.bz2
    tar xvfz example.tar.gz
    tar xvfz example.tgz
    tar xvf example.tar
    unzip example.zip 

    15 如何配置让哪些服务启动(天外闲云,q1208c)
    方法1 运行ntsysv或者setup命令,进入菜单进行配置
    方法2 chkconfig --list 显示服务
    chkconfig name on/off 打开/关闭“name”服务

    16查看文件夹大小

    du -sh uploadfile

    17查看磁盘使用情况

    df -hl

    12.删除目录下所有文件包括子目录(bjchenxu)
    rm -rf 目录名


    13查看系统信息(bjchenxu)
    cat /proc/cpuinfo - CPU (i.e. vendor, Mhz, flags like mmx)
    cat /proc/interrupts - 中断
    cat /proc/ioports - 设备IO端口
    cat /proc/meminfo - 内存信息(i.e. mem used, free, swap size)
    cat /proc/partitions - 所有设备的所有分区
    cat /proc/pci - PCI设备的信息
    cat /proc/swaps - 所有Swap分区的信息
    cat /proc/version - Linux的版本号 相当于 uname -r
    uname -a - 看系统内核等信息

     =================

    15 如何配置让哪些服务启动
    方法1 运行ntsysv或者setup命令,进入菜单进行配置
    方法2 chkconfig --list 显示服务
    chkconfig name on/off 打开/关闭“name”服务

    16查看文件夹大小

    du -sh uploadfile

    17查看磁盘使用情况

    df -hl

    系统

    # uname -a               # 查看内核/操作系统/CPU信息
    # head -n 1 /etc/issue   # 查看操作系统版本
    # cat /proc/cpuinfo      # 查看CPU信息
    # hostname               # 查看计算机名
    # lspci -tv              # 列出所有PCI设备
    # lsusb -tv              # 列出所有USB设备
    # lsmod                  # 列出加载的内核模块
    # env                    # 查看环境变量

    资源

    # free -m                # 查看内存使用量和交换区使用量
    # df -h                  # 查看各分区使用情况
    # du -sh <目录名>        # 查看指定目录的大小
    # grep MemTotal /proc/meminfo   # 查看内存总量
    # grep MemFree /proc/meminfo    # 查看空闲内存量
    # uptime                 # 查看系统运行时间、用户数、负载
    # cat /proc/loadavg      # 查看系统负载

    磁盘和分区

    # mount | column -t      # 查看挂接的分区状态
    # fdisk -l               # 查看所有分区
    # swapon -s              # 查看所有交换分区
    # hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备)
    # dmesg | grep IDE       # 查看启动时IDE设备检测状况

    网络

    # ifconfig               # 查看所有网络接口的属性
    # iptables -L            # 查看防火墙设置
    # route -n               # 查看路由表
    # netstat -lntp          # 查看所有监听端口
    # netstat -antp          # 查看所有已经建立的连接
    # netstat -s             # 查看网络统计信息

    进程

    # ps -ef                 # 查看所有进程
    # top                    # 实时显示进程状态

    用户

    # w                      # 查看活动用户
    # id <用户名>            # 查看指定用户信息
    # last                   # 查看用户登录日志
    # cut -d: -f1 /etc/passwd   # 查看系统所有用户
    # cut -d: -f1 /etc/group    # 查看系统所有组
    # crontab -l             # 查看当前用户的计划任务

    服务

    # chkconfig --list       # 列出所有系统服务
    # chkconfig --list | grep on    # 列出所有启动的系统服务

    程序

    # rpm -qa                # 查看所有安装的软件包



     内部命令和外部命令

     内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高。

    • 外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。

    type可以用来判断一个命令是否为内置命令

    type: usage: type [-afptP] name [name ...]
    [root@linuxeye ~]# type type
    type is a shell builtin
    [root@linuxeye ~]# type -p type
    [root@linuxeye ~]# type -t type
    builtin
    [root@linuxeye ~]# type type
    type is a shell builtin
    [root@linuxeye ~]# type -t type
    builtin
    [root@linuxeye ~]# type pwd
    pwd is a shell builtin
    [root@linuxeye ~]# type whiptail
    whiptail is /usr/bin/whiptail
    [root@linuxeye ~]# type -t whiptail
    file

    enable既可以查看内部命令,同时也可以判断是否为内部命令

    [root@linuxeye ~]# enable -a #查看内部命令
    [root@linuxeye ~]# enable whiptail #非内部命令
    -bash: enable: whiptail: not a shell builtin
    [root@linuxeye ~]# enable pwd #是内部命令

    内部命令用户输入时系统调用的速率快,不是内置命令,系统将会读取环境变量文件.bash_profile、/etc/profile去找PATH路径。

    然后在提一下命令的调用,有些历史命令使用过后,会存在在hash表中,当你再次输入该命令它的调用会是这样一个过程。

    hash——>内置命令——>PATH   命令的调用其实应该是这样一个过程。

    [root@linuxeye ~]# type pwd
    pwd is a shell builtin
    [root@linuxeye ~]# type cat
    cat is /usr/bin/cat
    [root@linuxeye ~]# pwd
    /root
    [root@linuxeye ~]# ls linuxeye*
    linuxeye.pem  linuxeye.txt
    [root@linuxeye ~]# cat linuxeye.txt
    linuxeye
    [root@linuxeye ~]# hash -l #显示hash表
    builtin hash -p /usr/bin/cat cat
    builtin hash -p /usr/bin/ls ls
    [root@linuxeye ~]# type cat
    cat is hashed (/usr/bin/cat)
    [root@linuxeye ~]# hash -r #清除hash表
    [root@linuxeye ~]# type cat
    cat is /usr/bin/cat

    从上面操作可以看出。hash表不存放系统内置命令。

    Linux如何查看本机及别人的MAC地址

    1、查看自己的MAC地址:使用ifconfig
    [root@zhanghuimeng ~]# ifconfig | grep HW
    eth0      Link encap:Ethernet  HWaddr 00:50:56:3D:79:71
     
    2、查看已知IP地址的MAC地址:使用ping+arp
    [root@zhanghuimeng ~]# ping 192.168.70.1
    [root@zhanghuimeng ~]# arp -n
    Address                  HWtype  HWaddress           Flags Mask            Iface
    192.168.70.2             ether   00:50:56:f7:ae:6a   C                     eth0
    192.168.70.1             ether   00:50:56:c0:00:01   C                     eth0

    linux常用的查看设备的命令

    linux查看设备命令

    系统

    # uname -a               # 查看内核/操作系统/CPU信息
     # head -n 1 /etc/issue   # 查看操作系统版本 
    # cat /proc/cpuinfo      # 查看CPU信息
     # hostname               # 查看计算机名 
    # lspci -tv              # 列出所有PCI设备
     # lsusb -tv              # 列出所有USB设备 
    # lsmod                  # 列出加载的内核模块
     # env                    # 查看环境变量

    资源

    # free -m                # 查看内存使用量和交换区使用量 
    # df -h                  # 查看各分区使用情况 
    # du -sh <目录名>        # 查看指定目录的大小 
    # grep MemTotal /proc/meminfo   # 查看内存总量
     # grep MemFree /proc/meminfo    # 查看空闲内存量
    # uptime                 # 查看系统运行时间、用户数、负载 
    # cat /proc/loadavg      # 查看系统负载

    磁盘和分区

    # mount | column -t      # 查看挂接的分区状态 
    # fdisk -l               # 查看所有分区 
    # swapon -s              # 查看所有交换分区
     # hdparm -i /dev/hda     # 查看磁盘参数(仅适用于IDE设备) 
    # dmesg | grep IDE       # 查看启动时IDE设备检测状况

    网络

    # ifconfig               # 查看所有网络接口的属性
     # iptables -L            # 查看防火墙设置 
    # route -n               # 查看路由表 
    # netstat -lntp          # 查看所有监听端口 
    # netstat -antp          # 查看所有已经建立的连接
     # netstat -s             # 查看网络统计信息

    进程

    # ps -ef                 # 查看所有进程 
    # top                    # 实时显示进程状态

    用户

    # w                      # 查看活动用户 
    # id <用户名>            # 查看指定用户信息 
    # last                   # 查看用户登录日志 
    # cut -d: -f1 /etc/passwd   # 查看系统所有用户 
    # cut -d: -f1 /etc/group    # 查看系统所有组 
    # crontab -l             # 查看当前用户的计划任务

    服务

    # chkconfig --list       # 列出所有系统服务 
    # chkconfig --list | grep on    # 列出所有启动的系统服务

    程序

    # rpm -qa                # 查看所有安装的软件包

    常用命令整理如下:
    查看主板的序列号: dmidecode | grep -i ’serial number’

    用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart)

    查看CPU信息:cat /proc/cpuinfo [dmesg | grep -i 'cpu'][dmidecode -t processor]

    查看内存信息:cat /proc/meminfo [free -m][vmstat]

    查看板卡信息:cat /proc/pci

    查看显卡/声卡信息:lspci |grep -i ‘VGA’[dmesg | grep -i 'VGA']

    查看网卡信息:dmesg | grep -i ‘eth’[cat /etc/sysconfig/hwconf | grep -i eth][lspci | grep -i 'eth']
    <!--more-->
    查看PCI信息:lspci (相比cat /proc/pci更直观)

    查看USB设备:cat /proc/bus/usb/devices

    查看键盘和鼠标:cat /proc/bus/input/devices

    查看系统硬盘信息和使用情况:fdisk & disk – l & df

    查看各设备的中断请求(IRQ):cat /proc/interrupts

    查看系统体系结构:uname -a

    查看及启动系统的32位或64位内核模式:isalist –v [isainfo –v][isainfo –b]

    dmidecode查看硬件信息,包括bios、cpu、内存等信息

    测定当前的显示器刷新频率:/usr/sbin/ffbconfig –rev ?

    查看系统配置:/usr/platform/sun4u/sbin/prtdiag –v

    查看当前系统中已经应用的补丁:showrev –p

    显示当前的运行级别:who –rH

    查看当前的bind版本信息:nslookup –class=chaos –q=txt version.bind

    dmesg | more 查看硬件信息
    lspci 显示外设信息, 如usb,网卡等信息
    lsnod 查看已加载的驱动
    lshw
    psrinfo -v 查看当前处理器的类型和速度(主频)
    prtconf -v 打印当前的OBP版本号
    iostat –E 查看硬盘物理信息(vendor, RPM, Capacity)
    prtvtoc /dev/rdsk/c0t0d0s 查看磁盘的几何参数和分区信息
    df –F ufs –o i 显示已经使用和未使用的i-node数目
    isalist –v

    对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
    Cpuinfo 主机CPU信息
    Dma 主机DMA通道信息
    Filesystems 文件系统信息
    Interrupts 主机中断信息
    Ioprots 主机I/O端口号信息
    Meninfo 主机内存信息
    Version Linux内存版本信息

    备注: proc – process information pseudo-filesystem 进程信息伪装文件系统

    RPM

        在Linux 操作系统中,有一个系统软件包,它的功能类似于Windows里面的“添加/删除程序”,但是功能又比“添加/删除程序”强很多,它就是 Red Hat Package Manager(简称RPM)。此工具包最先是由Red Hat公司推出的,后来被其他Linux开发商所借用。由于它为Linux使用者省去了很多时间,所以被广泛应用于在Linux下安装、删除软件。下面就 给大家介绍一下它的具体使用方法。

    1.我们得到一个新软件,在安装之前,一般都要先查看一下这个软件包里有什么内容,假设这个文件是:Linux-1.4-6.i368.rpm,我们可以用这条命令查看:

    rpm -qpi Linux-1.4-6.i368.rpm

    系统将会列出这个软件包的详细资料,包括含有多少个文件、各文件名称、文件大小、创建时间、编译日期等信息。

    2.上面列出的所有文件在安装时不一定全部安装,就像Windows下程序的安装方式分为典型、完全、自定义一样,Linux也会让你选择安装方式,此时我们可以用下面这条命令查看软件包将会在系统里安装哪些部分,以方便我们的选择:

    rpm -qpl Linux-1.4-6.i368.rpm

    3. 选择安装方式后,开始安装。我们可以用rpm-ivh Linux-1.4-6.i368.rpm命令安装此软件。在安装过程中,若系统提示此软件已安装过或因其他原因无法继续安装,但若我们确实想执行安装命 令,可以在 -ivh后加一参数“-replacepkgs”:

    rpm -ivh -replacepkgs Linux-1.4-6.i368.rpm

    4.有时我们卸载某个安装过的软件,只需执行rpm-e <文件名>;命令即可。

    5.对低版本软件进行升级是提高其功能的好办法,这样可以省去我们卸载后再安装新软件的麻烦,要升级某个软件,只须执行如下命令:rpm -uvh <文件名>;,注意:此时的文件名必须是要升级软件的升级补丁

    6. 另外一个安装软件的方法可谓是Linux的独到之处,同时也是RMP强大功能的一个表现:通过FTP站点直接在线安装软件。当找到含有你所需软件的站点并 与此网站连接后,执行下面的命令即可实现在线安装,譬如在线安装Linux-1.4-6.i368.rpm,可以用命令:

    rpm -i ftp://ftp.pht.com/pub/linux/redhat/...-1.4-6.i368.rpm

    7. 在我们使用电脑过程中,难免会有误操作,若我们误删了几个文件而影响了系统的性能时,怎样查找到底少了哪些文件呢?RPM软件包提供了一个查找损坏文件的 功能,执行此命令:rpm -Va即可,Linux将为你列出所有损坏的文件。你可以通过Linux的安装光盘进行修复。

    8.Linux系统中文件繁多,在使用过程中,难免会碰到我们不认识的文件,在Windows下我们可以用“开始/查找”菜单快速判断某个文件属于哪个文件夹,在Linux中,下面这条命令行可以帮助我们快速判定某个文件属于哪个软件包:

    rpm -qf <文件名>;

    9.当每个软件包安装在Linux系统后,安装文件都会到RPM数据库中“报到”,所以,我们要查询某个已安装软件的属性时,只需到此数据库中查找即可。注意:此时的查询命令不同于1和8介绍的查询,这种方法只适用于已安装过的软件包!命令格式:

    rpm -参数 <文件名>;

    APT-GET

    apt-get update——在修改/etc/apt/sources.list或者/etc/apt/preferences之后运行该命令。此外您需要定期运行这一命令以确保您的软件包列表是最新的。
    apt-get install packagename——安装一个新软件包(参见下文的aptitude) 
    apt-get remove packagename——卸载一个已安装的软件包(保留配置文件) 
    apt-get --purge remove packagename——卸载一个已安装的软件包(删除配置文件) 
    dpkg --force-all --purge packagename 有些软件很难卸载,而且还阻止了别的软件的应用,就可以用这个,不过有点冒险。 
    apt-get autoclean apt会把已装或已卸的软件都备份在硬盘上,所以如果需要空间的话,可以让这个命令来删除你已经删掉的软件 
    apt-get clean 这个命令会把安装的软件的备份也删除,不过这样不会影响软件的使用的。 
    apt-get upgrade——更新所有已安装的软件包 
    apt-get dist-upgrade——将系统升级到新版本 
    apt-cache search string——在软件包列表中搜索字符串 
    dpkg -l package-name-pattern——列出所有与模式相匹配的软件包。如果您不知道软件包的全名,您可以使用“*package-name-pattern*”。
    aptitude——详细查看已安装或可用的软件包。与apt-get类似,aptitude可以通过命令行方式调用,但仅限于某些命令——最常见的有安装和卸载命令。由于aptitude比apt-get了解更多信息,可以说它更适合用来进行安装和卸载。
    apt-cache showpkg pkgs——显示软件包信息。 
    apt-cache dumpavail——打印可用软件包列表。 
    apt-cache show pkgs——显示软件包记录,类似于dpkg –print-avail。 
    apt-cache pkgnames——打印软件包列表中所有软件包的名称。 
    dpkg -S file——这个文件属于哪个已安装软件包。 
    dpkg -L package——列出软件包中的所有文件。 
    apt-file search filename——查找包含特定文件的软件包(不一定是已安装的),这些文件的文件名中含有指定的字符串。apt-file是一个独立的软件包。您必须 先使用apt-get install来安装它,然后运行apt-file update。如果apt-file search filename输出的内容太多,您可以尝试使用apt-file search filename | grep -w filename(只显示指定字符串作为完整的单词出现在其中的那些文件名)或者类似方法,例如:apt-file search filename | grep /bin/(只显示位于诸如/bin或/usr/bin这些文件夹中的文件,如果您要查找的是某个特定的执行文件的话,这样做是有帮助的)。

    ubuntu查看版本命令
    方法一:
    在终端中执行下列指令: cat /etc/issue
    方法二:
    使用 lsb_release 命令也可以查看 Ubuntu 的版本号,与方法一相比,内容更为详细。
    执行指令如下: sudo lsb_release -a
    方法三:
    打开“系统监视器”,选择“系统”
    Ubuntu查看版本命令
    1. lshw
    lshw命令显示详细硬件信息。
    如果要用概要方式显示,可以加上short参数:lshw-short
    要显示指定硬件信息,加上class(或C)参数:lshw -classmemory
    2. sysstat
    监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,
    比如CPU使用率、硬盘和网络吞吐数据。
    3. lspci -v (相比cat/proc/pci更直观)
    查看PCI信息,lspci 是读取 hwdata 数据库。
    4. uname -a
    查看系统体系结构。
    5. dmidecode
    查看硬件信息,包括bios、cpu、内存等信息
    6. dmesg
    显示内核缓冲区系统控制信息,如系统启动时的信息会写到/var/log/。
    注:dmesg 工具并不是专门用来查看硬件芯片组标识的工具,
    但通过这个工具能让我们知道机器中的硬件的一些参数;因为系统在启动的时候,
    会写一些硬件相关的日志到 /var/log/message* 或/var/log/boot* 文件中。
    7. lshal 和hal-device-manager
    8. 查看 /proc
    对于“/proc”中文件可使用文件查看命令浏览其内容,文件中包含系统特定信息:
    Cpuinfo 主机CPU信息
    Dma 主机DMA通道信息
    Filesystems 文件系统信息
    Interrupts 主机中断信息
    Ioprots 主机I/O端口号信息
    Meninfo 主机内存信息
    Version Linux内存版本信息
    查看CPU信息:cat /proc/cpuinfo 查看板卡信息:cat /proc/pci 查看内存信息:cat/proc/meminfo 查看USB设备:cat /proc/bus/usb/devices 查看键盘和鼠标:cat/proc/bus/input/devices 查看各设备的中断请求(IRQ):cat/proc/interrupts
    主板信息:
    sudo demidecode | grep -i ‘serial number’

    CPU信息:
    cat /proc/cpuinfo
    dmesg | grep -i ‘cpu’
    sudo dmidecode -t processor

    硬盘信息:
    查看分区情况:
    sudo fdisk -l

    查看大小情况:
    df -h

    查看使用情况:
    du -h
    sudo hdparm -I /dev/sda
    dmesg | grep sda

    内存信息:
    cat /proc/meminfo
    dmesg | grep mem
    free -m
    vmstat
    sudo dmidecode | grep -i mem

    网卡信息:
    dmesg | grep -i ‘eth’
    lspci | grep -i ‘eth’

    ethtool -i eht0
    ethhool -k eth0
    ethtool -g eth0

    查看鼠标和键盘:
    cat /proc/bus/input/devices

    查看各设备的中断请求(IRQ):
    cat /proc/interrupts

    显卡信息:
    lspci | grep -i ‘VGA’
    dmesg | grep -i ‘VGA’

    声卡信息:
    查看声卡型号:
    lspci | grep -i audio

    查看型号ac97的声卡驱动模块:
    modprobe -l | grep ac97

    查看声卡信息:
    cat /proc/asound/cards

    查看alsa-utils本:
    alsactl -v

    查看内核alsa版本:
    cat /proc/asound/version

    声卡信息:
    aplay -l

    硬件信息之声卡:
    sudo lshw -C sound

    模块状态之声音:
    lsmod | grep -i snd

    alsa音频配置:
    alsamixer

    其他命令:
    dmesg
    lspci
    mpstat(先安装sysstat: sudo spt-get install sysstat)  

     

  • 相关阅读:
    转载:AAC编解码概述
    转载:ADTS header
    wcf寄宿在iis上的跨域访问问题【不止是添加跨域文件】
    转 http 分析工具
    时间管理1
    关于silverlight和Wcf分布式部署注意问题(收藏夹)
    c#修改xml文件
    关于在线编辑的异常
    创业文摘5--从程序员转向企业家的10个建议
    silverlight 后台代码生成gridview
  • 原文地址:https://www.cnblogs.com/xuaijun/p/7615969.html
Copyright © 2020-2023  润新知