精华内容
下载资源
问答
  • Linux系统rm命令误删除恢复,有备无患
  • Linux系统常用基本命令总结

    万次阅读 多人点赞 2018-11-13 22:42:20
    Linux基本命令 Linux的简介 Linux的厂商 Linux的目录结构 基于虚拟机的环境搭建 常用命令与示例 一、文件基本操作命令 1. ls命令 2. pwd命令 3. mkdir命令 4. cd命令 5. touch命令 6. cp命令 7. mv命令...

    目录

    Linux基本命令

    Linux的简介

    Linux的厂商

    Linux的目录结构

    基于虚拟机的环境搭建

    常用命令与示例

    一、文件基本操作命令

    1. ls命令

    2.  pwd命令

    3.  mkdir命令

    4. cd命令

    5. touch命令

    6. cp命令

    7. mv命令

    8.  rmdir命令

    9.  rm命令

    10.  cat命令

    11  more和 less命令

    12.  head命令

    13.  tail命令

    二、用户、组管理命令

    1. groupadd命令

    2. useradd命令

    3. userdel命令

    4. groupdel命令

    5. passwd命令

    6. usermod命令

    7. id命令

    三、 文件属性操作命令

    1. chown命令

    2. chgrp命令

     3. chmod命令

    四、i节点及其相关命令

    (1)ln命令示例一——建立硬连接

    (2)ln命令示例二——建立符号连接

    五、 查找命令

    1. which命令

    2. whereis命令

    3. find命令

    六、 文件内容操作命令

    1. grep命令

    2. wc命令

    3. sort命令

    4. diff 命令

    5. cut 命令

    七、 压缩与打包命令

    1. tar命令

    八、网卡配置命令

    (1)ifconfig命令示例一——显示接口(网卡)配置参数

    (2)ifconfig命令示例二——设置接口(网卡)配置参数

    (3)ifconfig命令示例三——禁用某块网卡

    (4)ifconfig命令示例四——激活某块网卡

    九、rpm命令

    (1)rpm命令示例一——查询系统中安装的软件包

    (2)rpm命令示例二——查询软件包中文件清单

    (3)rpm命令示例三——卸载指定的软件包

    (4)rpm命令示例四——安装软件包

    (5)rpm命令示例五——强制安装软件包

    (6)rpm命令示例五——忽略依赖关系安装软件包

    # rpm  -ivh  --nodeps  php-4.3.9-3.1-i386.rpm

    (7)卸载

    十、 其他安装方式

    yum安装       yum install 软件名字       yum install yum-fastestmirror       yum remove

    源码安装

    十一、 查看进程命令

    1. ps命令

    2. pstree命令

    3. top命令

    4. kill命令


     

    Linux基本命令

    Linux的简介

    Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

     

    Linux的厂商

     

    Linux的目录结构

    基于虚拟机的环境搭建

    vi /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE=eth0 #网卡设备名称
                ONBOOT=yes #启动时是否激活 yes|no
                BOOTPROTO=static #协议类型 dhcp bootp none
                IPADDR=192.168.134.136 #网络IP地址
                NETMASK=255.255.255.0 #网络子网地址
                GATEWAY=                     #网关地址
                BROADCAST=192.168.134.255 #广播地址
                TYPE=Ethernet #网卡类型为以太网

    关闭防火墙

         service iptables stop

         chkconfig iptables off

    常用命令与示例

    说明:

    • Linux 命令及其参数是严格区分大小写

    • Linux文件名严格区分大小写

    一、文件基本操作命令

    1. ls命令

    • ls命令的功能是显示指定目录下的文件目录清单相当于dos下的dir命令,而且其参数更加丰富多样。

    1ls示例一——不带参数

    [root@yxy ~]# ls

    anaconda-ks.cfg  install.log  install.log.syslog

    功能:显示指定目录中的文件清单,如果没有指定任何目录,则默认为当前目录。

    2ls示例二——显示隐含文件

    [root@yxy ~]# ls -a

    .   anaconda-ks.cfg  .bash_logout   .bashrc  install.log         .tcshrc

    ..  .bash_history    .bash_profile  .cshrc   install.log.syslog

    参数-a的功能:显示隐含文件。

    说明:若文件名以“.”开头,则认为是隐含的,进而普通的ls命令不显示以“.”开头的文件;所以要完全显示某目录下的文件清单,必须加上-a参数才行。

    3ls示例三——长格式输出

    [root@yxy ~]# ls -l

    总用量 24

    -rw-------. 1 root root  1116 11月 13 18:15 anaconda-ks.cfg

    -rw-r--r--. 1 root root 12526 11月 13 18:15 install.log

    -rw-r--r--. 1 root root  3482 11月 13 18:14 install.log.syslog

    参数-l 的功能是:以长格式列表输出指定目录中的文件清单

    以上述输出中文件install.log为例

     解释长格式输出的内容如下

    文件权限  连接数  属主    属组    大小   日期     时间      文件名

    -rw-r--r--.    1   root   root   12526  1113 18:15 install.log

    Linux文件有三种典型的权限,即r读权限、w写权限和x执行权限。在长格式输出中在文件类型的后面有9列权限位,实际上这是针对不同用户而设定的,如下所示。

    属主的权限  属组的权限  其他用户的权限

         rwx                 rwx                  r-x

    4ls示例四——递归显示

    [root@yxy ~]# ls -R

    .:

    anaconda-ks.cfg  install.log  install.log.syslog

    参数-R 的功能是:递归显示指定目录下的文件清单,

    即会显示指定目录分支内各子目录中的文件清单。

    2.  pwd命令

    示例:pwd

    [root@yxy ~]# pwd

    /root

    功能:显示当前目录

    3.  mkdir命令

    1mkdir示例一

    [root@yxy ~]# mkdir abc

    功能:在当前目录下创建目录abc

    2mkdir示例二——创建多级目录

    [root@yxy ~]# mkdir -p a/b/c

    [root@yxy ~]# ls -R a

    a:

    b

     

    a/b:

    c

     

    a/b/c:功能:参数-p功能是如果要创建的目录的父目录不存在,则先创建其父目录,再创建该目录; 如果指定的目录存在,则不影响原目录,也不会报错。在本示例中会连续创建a目录、a/b目录、a/b/c目录。

    4. cd命令

    (1)cd示例一——切换工作目录

    [root@yxy ~]# cd /var

    [root@yxy var]# pwd

    /var

    功能:将当前的工作目录切换为/var

    (2)cd示例二——切换到当前用户的主目录

    [root@yxy var]# cd

    [root@yxy ~]# pwd

    /root

    功能:不带参数的cd命令直接将当前的工作目录切换为该用户的主目录。主目录又称为家目录,在RHEL中是在创建用户时,自动在/home下为用户创建一个用其用户名同名的目录,并将该目录的所有权划归给该用户所有。

    注意:字符“~”代表(当前)用户的主目录。                   

    5. touch命令

    1touch示例一——创建空文件

    [root@yxy ~]# touch myfile

    [root@yxy ~]# ls -l myfile

    -rw-r--r--. 1 root root 0 11月 13 23:48 myfile

    功能:如果myfile不存在,则创建一个大小为0字节名为myfile的空文件。

    2touch示例二——改变文件的最后修改时间

    再执行一次touch myfile

    [root@yxy ~]# touch myfile

    [root@yxy ~]# ls -l myfile

    -rw-r--r--. 1 root root 0 11月 13 23:49 myfile

    功能:如果myfile已存在,则将改变myfile的最后修改时间。

    6. cp命令

    1cp示例一——复制文件

    [root@yxy ~]# cp /etc/*   abc

    功能:将/etc/目录下的文件复制到目录abc中。*是通配符,可以匹配多个字符;“?”只能匹配一个字符。

    2cp示例二——复制目录

    [root@yxy ~]# cp  -R   /etc  abc

    功能:增加了参数-,就能将目录/etc下面的所有子目录和文件都复制到目录abc中。

    7. mv命令

    1mv示例一——将文件移动到目录中

    [root@yxy ~]# mv  myfile  mydir1

    功能:如果mydir1存在且是个目录,则将文件myfile移动到目录mydir1中。

    2mv示例二——文件改名

    [root@yxy ~]# mv myfile myfile2

    功能:将文件(或目录)myfile改名myfile2

    8.  rmdir命令

    [root@yxy ~]# rmdir   mydir1

    功能:删除指定的空目录

    9.  rm命令

    1rm示例一——删除文件

    [root@yxy ~]# rm  php.ini

    功能:删除指定的文件 php.ini。

    2rm示例二——删除目录

    [root@yxy ~]# rm  -rf  abc

    功能:参数-r递归的意思,即可以删除非空目录;参数-f强制的意思。

    10.  cat命令

    1cat示例一——显示文件内容

    [root@yxy ~]# cat myfile

    hello,world

    功能:指定文件myfile的内容

    2cat示例二——创建文件

    [root@yxy ~]# cat  >  myfile2

    Welcome to Linux World!

    ctrl+d结束输入

    功能:利用输出重定向符“>”来创建简短的文本文件myfile2。

    11  more less命令

    # more  /etc/httpd/conf/httpd.conf

    功能:分屏显示指定文件httpd.conf的内容,非常适合显示超过一屏的文本文件。每按一下空格键,向后翻一屏;每按一次回车键,向后翻一行。

    说明:less与more功能很相似,只不过less功能更强大,支持PageUp键向前翻屏,及PageDown向后翻屏。

    12.  head命令

    1head示例一——显示文件头10行内容

    # head  /etc/httpd/conf/httpd.conf

    功能:默认显示指定文件的10的内容。

    2head示例二——显示文件头n行内容

    # head -n 19 /etc/httpd/conf/httpd.conf

    功能:参数-n设置显示指定行数,本例会显示文件的头19行的内容。

    13.  tail命令

    1tail示例一——显示文件最后10行内容

    # tail  /etc/httpd/conf/httpd.conf

    功能:默认显示指定文件的末尾10的内容。

     2tail示例二——显示文件最后n行内容

    # tail  -n 12  /etc/httpd/conf/httpd.conf

    功能:参数-n设置显示指定行数;

              本例会显示文件的末尾12行的内容。

    二、用户、组管理命令

    • Linux采用来组织和管理用户

    • 在Linux中每个用户有唯一的用户标识符UID,该UID是一个无符号整数。

    • 同时每个用户也必须至少属于一个组,也有组标识符GID

    • 其中UID与GID独立编号。

     

    1. groupadd命令

    1groupadd示例一——创建组账号

    [root@yxy ~]# groupadd  mygroup1

    功能:创建一个新组mygroup1,其GID号为已存在GID号的下一个顺序编号。

    说明:创建一个组的同时会在/etc/group文件中为该组增加相应的一行,用来记录该组的名称、GID号及成员等信息

    2groupadd示例二——创建组账号并设置其GID

    # groupadd  -g 5000  mygroup2

    功能:创建一个新组mygroup2,并指定其GID号为5000,其中-g用来设置用户的主要组,每个用户都有一个主要组。

    2. useradd命令

    1useradd示例一——创建用户账号

    [root@yxy ~]# useradd  user1

    功能:创建一个用户user1,同时在/etc/passwd文件和/etc/shadow文件增加一行,并自动为用户创建相应的主目录:/home/user1。

    说明:/etc/passwd文件记录了系统中每个用户的用户名、UID号、GID号、主目录、shell等信息

    注意:用户的口令原来也存放在此文件中,现在为了保证安全采用了影子口令文件/etc/shadow来保存每个用户的口令

    2useradd示例二——创建用户账号并设置相应属性值

    # useradd  -u 600  -g mygroup1  -G mygroup2  -d  /home/student1  s1

    功能:创建用户s1,其中参数

    -u指定UID号为600;

    -g指定用户的主要组为mygroup1;

    -G指定用户的附加组为mygroup2,每个用户可以有多个附加组;

    -d 指定用户的主目录为/home/student1。

    3. userdel命令

    1userdel示例一——删除用户

    [root@yxy ~]# userdel  user1

    功能:删除指定的用户user1。

    2userdel示例二——删除用户的同时删除其主目录

    [root@yxy ~]# userdel  -r  user2

    功能:删除指定的用户user2,同时删除其主目录

    4. groupdel命令

    [root@yxy ~]# groupdel mygroup2

    功能:删除指定的组

    注意:当某个组是某现有用户的主要组时,则不能被删除。

     

    5. passwd命令

    1passwd示例一——改变口令

    [root@yxy ~]# passwd

    Changing password for user user1.

    Changing password for user1

    (current) Unix password:

    New Unix password:

    BAD PASSWORD: it is too simplistic/systematic

    New Unix password:

    BAD PASSWORD: is too similar to the old one

    New Unix password:

    Retype new Unix password:

    passwd: all authentication tokens updated successfully.

    功能:普通用户只可以修改自己的口令

    2passwd示例二——禁止用户登录 

    [root@yxy ~]# passwd  -l  user1

    Locking password for user user1.

    passwd: Success

    功能:参数-l 可以给指定的用户user1加锁,即禁止该用户登录。

    3passwd示例三——恢复用户登录

    [root@yxy ~]# passwd  –u  user1

    Unlocking password for user user1.

    passwd: Success.

    功能:参数-u 可以给指定的用户user1解锁,即恢复该用户登录。

    4passwd示例四——删除用户口令

     [root@yxy ~]# passwd  -d  user1

    Removing password for user user1.

    passwd: Success

    功能:参数-d 可以删除指定的用户user1口令,即以user1登录时无需口令。

    6. usermod命令

    # usermod  -u  601  -g 501  s1

    功能:将(已存在的)用户s1的UID号修改为601、主要组修改为501

    7. id命令

    [root@yxy ~]# id  user1

    uid=501(user1) gid=501(user1) groups=501(user1)

    功能:显示用户的UIDGID及所属的组信息

     

    三、 文件属性操作命令

     

    1. chown命令

    1chown示例一——改变文件的属主

    [root@yxy ~]# chown  user1  hello.txt

    功能:将指定文件hello.txt的属主(所有者)改为user1。

    2chown示例二——递归改变文件的属主

    # chown  -R  user1  mydir

    功能:参数-R,表示递归即可以深入到指定目录中的每一层,将所有子目录和文件的属主(所有者)改为指定的用户;本例中会mydir目录中所有子目录和文件的属主设定为user1

    2. chgrp命令

    1chgrp示例一——改变文件的属组

    # chgrp  mygroup1  hello.txt

    功能:将指定文件hello.txt的属组改为mygroup1。

    2chgrp示例二——递归改变文件的属组

    # chgrp  -R  mygroup1  mydir

    功能:参数-R,表示递归,即可以深入到指定目录中的每一层,将所有子目录和文件的属组改为指定的组;本例中会将mydir目录中所有子目录和文件的属组设定为mygroup1。

     3. chmod命令

    1chmod示例一——字母方式

       图中字母u针对属主、g针对属组、o针对其他用户、a针对所有用户;

        =表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限;

        rwx三种权限,既可以单独使用也可以组合使用

    # chmod  u+x  host.conf

    功能:为文件host.conf的属主增加执行权限。

    # chmod  g-w,o=x  host.conf

    功能:将文件host.conf的属组去掉写权限,同时将其他用户设置为只有执行权限,而文件属主的权限不变。

    2chmod示例二——数字方式

    chmod的数字使用方式,使用起来也是很方便的,关键是一个数制转换的问题。

    这种方式是先将每个权限位化成二进制数,其中如果某权限位是“-”则用0来表示,否则用1来表示;接着,将这9列权限分为三组(每三位一组),再将每组化成一个八进制数。

    例如,某文件有如下权限rwxrw-r--,则转换为二进制数为111110100,再化为八进制数则为764;反之,当看到八进制数764时也应该很快转化为相应权限。

    # chmod  764  host.conf

    功能:将文件host.conf的权限设置为:

    属主拥有全部权限;

    属组拥有读写权限;

    其他用户拥有只读权限。

     

    四、i节点及其相关命令

    1ln命令示例一——建立硬连接

    [root@yxy ~]# ln  myfile  myfile.hlink

    功能:为文件myfile创建名为myfile.hlink的硬连接。

    [root@yxy ~]# ls  -il

    180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile

    180590 -rw-rw-r--  2  user1 user1   12 Aug 17 12:14 myfile.hlink

    说明:通过ls  il 命令可以看出myfile与myfile.hlink的i节点号(最左面的数)是一样的,即硬连接与原文件共用同一个i节点,请注意两个文件的连接数(位于长格式列表中权限位与属主之间的数)都增加了1变成2了。

    2ln命令示例二——建立符号连接

    [root@yxy ~]# ln  -s  myfile  myfile.slink

    功能:为文件myfile创建名为myfile.slink的符号连接。

    [root@yxy ~]# ls  -li

    180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile

    180590 -rw-rw-r--    2  user1 user1   12 Aug 17 12:14 myfile.hlink

    180606 lrwxrwxrwx  1  user1 user1    6 Aug 21 06:21 myfile.slink -> myfile

    说明:硬链接若一个inode号对应多个文件名时,则称之为硬链接。硬链接具有以下几个特性:文件拥有相同的inode号和数据块;只能对已存在的文件创建硬链接;不能跨越文件系统创建硬链接;不能堆目录创建硬链接;删除一个硬链接文件不影响其他相同inode号的文件。软链接在Linux中,若文件的数据块中存放的内容是另一文件的路径名,则称之为软连接。软链接类似于Windows系统下的快捷方式。软连接有自己的inode号和用户数据块。为此,软链接避免了硬链接的诸多限制,软链接主要具有以下特点:软链接有自己的文件属性及权限等;可以对不存在的文件或目录创建软链接;软链接可以跨越文件系统创建;删除软链接时不会影响被指向的文件;若原文件被删除时,相关软链接文件被称为死链接(当该路路劲的文件重新创建时,死链接可以恢复正常)。

     

    五、 查找命令

    1. which命令

    [root@yxy ~]# which cp

    /bin/cp

    [root@yxy ~]# which updatedb

    /usr/bin/updatedb

    功能:显示命令的绝对路径。

    注意:该命令只能在命令搜索路径指定的目录中去查找命令或程序。

    2. whereis命令

    [root@yxy ~]# whereis ln

    ln: /bin/ln /usr/share/man/man1/ln.1.gz /usr/share/man/man1p/ln.1p.gz

    功能查询指定命令所在目录以及帮助文档所在目录。

    3. find命令

    1find示例一——按文件名查找

    # find  /  -name  "dhcpd*"

    功能:参数-name指明按文件名进行查找,即从/目录开始查找以dhcpd开头的所有文件。

    2find示例二——按文件大小查找

    [root@yxy ~]# find  /etc  -size  8

    功能:从/etc下开始查找大小为8块的文件,此处默认512字节为1块。若认为块大小为1k,则应写为8k。

       其它可以使用的单位有c(字节)、w(双字节)、M(兆字节)和G(吉字节)。

    3find示例三——按文件类型查找

    # find  /var  -type d  -print

    功能:从/var目录下开始查找类型为目录的文件,其中参数-print是显示到屏幕上的意思,经常省略。

    4find示例四——按文件的修改时间查找

    [root@yxy ~]# find  .  -cmin -5

    功能:从当前目录下查找5分钟之内修改过的文件。

       如果把“-5”改为 “+5”,则表示查找5分钟以前修改过的文件。不带“+”或“-”,则认为整5分钟。

      如果把时间单位改为天,则使用参数“-ctime”,请看示例:

    [root@yxy ~]# find  .  -ctime -5

    5find示例五——按文件的权限查找

    [root@yxy ~]#find  mytmp  -perm  755

    功能:查找mytmp目录下的权限恰为755的文件。

    [root@yxy ~]#find  mytmp  -perm  +755

    功能:查找mytmp目录下的满足755中任何一种权限的文件,即符合任何一个指定的权限位即可。

    [root@yxy ~]#find  mytmp  -perm  -755

    功能:查找mytmp目录下的权限至少满足755的文件,即指定的所有权限位必须符合才算满足查询条件。

     

    六、 文件内容操作命令

     

    1. grep命令

    1grep示例一——在指定的文件中查找包含特定的字符串的行

    [root@yxy ~]# grep  "bind"  host.conf

    功能:在文件host.conf中查找包含字符串“bind”行。

    [root@yxy ~]# grep  "network"  /etc/*.conf

    功能:利用通配符可在多个文件中查找包含特定的字符串的行。本例会在/etc下扩展名为.conf文件中查找包含字符串“network”的行。

    2grep示例二——查找不包含指定字符串的行

    # grep  -v  "network"  /etc/nsswitch.conf

    功能:查找/etc/nsswitch.conf文件中包含字符串“network”的行。

    2. wc命令

    1wc示例一——统计指定文件的行数、单词数和字符数

    [user1@server2 ~]# wc  /etc/nsswitch.conf

      63  272  1718  /etc/nsswitch.conf

    功能:统计出文件/etc/nsswitch.conf共有63行、272个单词、1718个字符。

    2wc示例二——参数使用

    # wc  -l  /etc/nsswitch.conf

    63  /etc/nsswitch.conf

    功能:参数-l的功能可统计出指定文件的行数。另外,利用参数-w统计单词,利用-c统计字符数。

    3. sort命令

    1sort示例一——按正序输出

    [root@yxy ~]# sort  mytest

    功能:将指定文件以行为单位按正序输出。

    2sort示例二——按逆序输出

    [root@yxy ~]# sort  -r  mytest

    功能:将指定文件以行为单位按逆序输出。

    4. diff 命令

    [root@yxy ~]# diff  test  mytest

    功能:比较文件test与mytest是否相同,将不同之处输出到屏幕上。

    5. cut 命令

       cut命令是一个文本提取工具,它以为单位,将每行看作一条记录,而字段之间的分隔符可以灵活地定义

    1cut示例一——按特定的分隔符提取指定的字段

    [user1@server2 ~]# cut  -d:  -f1  /etc/passwd

    功能:参数-d用来定义字段之间的分隔符,参数-f指定提取第几个字段;本例为提取/etc/passwd文件中以“:”为分隔符的第1个字段。

    七、 压缩与打包命令

     

    1. tar命令

     tar命令是经典的备份/还原命令,几乎所有最新的软件包都是通过tar发布的。

    1tar命令示例一——打包(备份)

    [user1@server2 ~]# tar  -cvf  myetc.tar  /etc

    功能:  参数-c的功能是打包(创建),

               参数-v是显示处理过程,

               参数-f是用来指定文档名;

    本例的功能是:将目录/etc打包为一个名为myetc.tar的文档。

    2tar命令示例二——打包(备份)并压缩

    # tar  -zcvf  myetc.tar.gz  /etc

    功能:将目录/etc打包并压缩为一个名为myetc.tar.gz的文档。

    说明:其中参数-z是调用gzip命令来压缩,扩展名为gz

    参数-Z是调用compress命令来压缩,扩展名为Z,

    参数-j是调用bzip2命令来压缩,扩展名为bz2

     

    八、网卡配置命令

    1ifconfig命令示例一——显示接口(网卡)配置参数

    [root@server2 ~]# ifconfig

    功能:显示网卡参数的配置情况,包括IP地址子网掩码、广播地址等。

    2ifconfig命令示例二——设置接口(网卡)配置参数

    # ifconfig  eth0  10.22.1.103  netmask  255.255.255.0

    功能:设置网卡eth0的IP地址为10.22.1.103、掩码为255.255.255.0

    说明:eth0是系统中1以太网卡的名称,eth1是系统中2以太网卡的名称,以此类推。lo是环回测试网卡的名称。

    3ifconfig命令示例三——禁用某块网卡

    [root@server2 ~]# ifconfig  eth0  down

    功能:禁用网卡eth0。

    说明:此时再用不带参数的ifconfig命令是不能显示eth0的信息的,需要加上参数-a才可显示被禁用的网卡信息。

    4ifconfig命令示例四——激活某块网卡

    [root@server2 ~]# ifconfig  eth0  up

    功能激活网卡eth0。

    九、rpm命令

    1rpm命令示例一——查询系统中安装的软件包

    [root@yxy ~]# rpm -qa

    功能:查询系统中安装的软件包列表,其中参数-q的功能是“查询”,参数-a的功能是“所有的”。

    2rpm命令示例二——查询软件包中文件清单

    [root@yxy ~]#rpm  -ql  php

    功能:查询已安装的软件包php中的文件列表,其中参数-l的功能是“列出指定软件包中的文件”。

    3rpm命令示例三——卸载指定的软件包

    [root@yxy ~]# rpm  -e  php

    功能:卸载已安装的软件包php,参数-e的功能是“卸载”。

    说明请注意执行上述命令时,采用的身份是不同的,普通用户只能执行查询操作。

    4rpm命令示例四——安装软件包

    # rpm  -ivh  php-4.3.9-3.1-i386.rpm

    功能:安装软件包php,

       参数-i的功能是“安装”,

       参数-v的功能是“显示处理过程”,

       参数-h的功能是显示“#”来表示进度。

    5rpm命令示例五——强制安装软件包

    # rpm  -ivh  --force  php-4.3.9-3.1-i386.rpm

    功能:强制安装软件包php,参数--force表示强制的意思。

    说明:如果要安装的软件的版本比较低或该软件包在系统中已存在,系统会给出提示并拒绝安装,此时可以加上参数—force来进行强制安装。

    6rpm命令示例五——忽略依赖关系安装软件包

    # rpm  -ivh  --nodeps  php-4.3.9-3.1-i386.rpm

    功能:安装软件包php时忽略与其它软件包的依赖关系,参数--nodeps表示忽略依赖关系

    说明:在安装或卸载软件时经常会遇到提示“该软件包与某某软件包存在依赖关系”,只有加上参数--nodeps忽略掉依赖关系才能进行安装或卸载。

    7)卸载


                 首先通过  rpm -q <关键字> 可以查询到rpm包的名字

    然后 调用 rpm -e <包的名字> 删除特定rpm包

    如果遇到依赖,无法删除,使用 rpm -e --nodeps <包的名字> 不检查依赖,直接删除rpm包

     

    十、 其他安装方式

    1. yum安装
             yum install 软件名字
             yum install yum-fastestmirror
             yum remove

    2. 源码安装

    ./configure
                make
                make install
                make clean
    make distclean

    十一、 查看进程命令

    1. ps命令

    1ps命令示例一——不带参数

    [user1@server2 ~]# ps

    功能:查询在当前控制台上运行的进程。

    2ps命令示例二——查看所有进程

    [user1@server2 ~]# ps  -aux

    功能:查询系统中所有运行的进程,包括后台进程,其中参数a是所有进程,参数x包括不占用控制台的进程,参数u显示用户。

    3ps命令示例三——查看所有进程

    [user1@server2 ~]# ps  -ef

    功能:查询系统中所有运行的进程,包括后台进程,而且可以显示出每个进程的父进程号。

    2. pstree命令

    1pstree命令示例一——树状格式显示进程列表

    [user1@server2 ~]# pstree

    功能:以树状格式显示系统的进程列表。

    2pstree命令示例二——带进程号的树状格式显示进程列表

    [user1@server2 ~]# pstree  -p

    功能:以树状格式显示系统的进程列表,并标识出每个进程的进程号。 

    3. top命令

    [user1@server2 ~]# top

    功能:动态地显示系统中的进程。

    4. kill命令

    1kill命令示例一——杀掉指定进程

    [user1@server2 ~]# kill  3029

    功能:kill命令可以杀掉一个进程,当然普通用户只能杀掉自己的进程。

    说明:上述命令中3029是进程号;一般在执行kill命令之前,先用pspstree来查询一下将要被杀掉的进程的进程号。

    2kill命令示例二——强制杀掉指定进程

    [user1@server2 ~]# kill  -9  3029

    功能:强制终止3029号进程的运行,其中参数-9代表强制的意思。

    说明:实际上kill命令是向该进程发送信号,该进程接到信号后决定是否停止运行,有些守护进程必须要收到参数9才终止运行。

     

    展开全文
  • Linux系统常用的基本命令

    万次阅读 多人点赞 2018-08-15 15:11:08
    本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。...三、查看登录Linux系统所使用的终端 1、tty命令 四、显示操作系统的信息 1、uname命令:un...

    本文主要介绍Linux中常用的基本命令,简单实用,以供大家参考,如有错误,欢迎大家指出。下面开始介绍。

    一、查看哪个用户登录的系统

    1、users命令

    2、whoami命令或者who am i命令

    二、查看哪些用户在系统上工作

    1、who命令

    2、w命令

    三、查看登录Linux系统所使用的终端

    1、tty命令

    四、显示操作系统的信息

    1、uname命令:uname [选项]

    其中,常用的“选项”如下:

    -r:显示操作系统发布的版本信息

    -s:显示操作系统名

    -m:显示机器硬件名

     

    -p:显示中央处理器类型

    --all/-a:显示所有信息

    -n:显示所用系统的主机名(也可用hostname命令)

     

    -n-i或者-ni:显示所用系统的主机名和硬件平台名

        注意:可以使用help方法查看uname的所有可用选项。如下所示:

       

    五、显示日历、日期、时间等

    1、date命令:显示日期和时间,在其后加-R,可以显示时区

    2、cal命令:显示日历

    例1:cal 8 2018:显示2018.08月的日历

    例2:cal 2018:显示2018年的日历

    六、清除屏幕显示的信息

    1、clear命令

    2、Ctrl+L

    七、切换用户与退出用户

    1、su命令:切换用户

    例如:su – root:切换到root用户

    2、exit:退出当前用户

    八、用户密码

    1、passwd username:修改某用户的密码

    2、passwd –S username或者passwd --status username:获取某用户的密码状态

    九、显示某命令的简单说明

    1、whatis [命令]

    2、man –f [命令]

    十、查看某命令的帮助文档

    1、[命令] --help

    2、man [命令]

    例如:man date(注意:系统会进入一个Man Pages界面,man命令使用简述见十一)

    十一、man命令使用简述

    1、上下左右键进行移动,Home键跳转到第一页,End键跳转到最后一页。

    2、:处输入/string,表示向下搜索string字符串。

    3、:处输入?string,表示向前搜索string字符串。

    4、q键退出Man Pages。

    5、搜索没记全的命令:man -k [命令关键字]

    十二、使用info命令获取帮助:info [命令]

    注意:输入info [命令]之后,会进入一个Info Pages页面,q键退出此页面。

    十三、查看当前目录的绝对路径

    1、pwd命令

    十四、切换命令的几个特殊含义

    1、cd .:切换到当前目录

    2、cd ..:切换到上一层目录

    3、cd -:切换到之前的工作目录,相当于撤销操作

    十五、复制命令:cp [选项] [文件] [复制后的文件]

    常用的选项如下所示:

    1、-i:防止不小心覆盖已经存在的文件或目录,在覆盖之前给出提示信息。

    2、-r:递归的复制目录。

    3、-p:保留一些特定的属性,如时间戳等。

    4、-f:强制覆盖原有的文件。

    十六、移动和剪切命令:mv(使用方法与cp命令类似)

    十七、创建目录命令:mkdir

        如果创建的目录有很多个,可以加-p,意思为递归创建目录。

    十八、创建文件命令:touch

    在创建文件的过程中,如果文件名或者目录名已经存在,touch将该文件或目录的时间戳改为当前访问时的时间和日期。

    十九、删除文件命令:rm [选项] [要删除的文件]

    常用的选项如下所示:

    1、-i:防止不小心删除有用的文件,在删除之前给出提示。

    2、-r:递归的删除目录。

    3、-f:强制删除。

    注意:rmdir命令只能删除空目录,rm –r命令可以删除目录及子目录。

    二十、确定文件中数据的类型

    1、file命令

    二十一、浏览正文文件内容

    1、cat [文件]

    2、cat –A [文件]:显示文件内容的同时还将显示文件中看不见的换行字符。

    3、cat > [文件]:新建文件并输入内容。

    4、head [文件]:默认显示文件的前十行

    5、head –n10 [文件]:使用-n可以指定显示的行数,也可以—lines或者-代替。

    6、tail [文件]:默认显示文件最后10行

        注意:使用-可以自定义显示的行数,使用-f或者—follow可以当正文信息发生变化时将变化的信息展示出来。

    二十二、显示文件行、单词和字符数:wc命令

    常用的选项如下所示:

    1、-l:仅显示行数

    2、-w:仅显示单词数

    3、-c:仅显示字符数

    二十三、浏览大文件:more命令

    进入后,屏幕底部将会出现--More--(n%)”,n%是指已经显示文件内容地百分比。

    1、空格键:向下移动一个屏幕;

    2、Enter键:一次移动一行;

    3、b键:往回移动一个屏幕;

    4、h键:显示一个帮助菜单;

    5、/string:向前搜索string;

    6、n键:发现某个字符串的下一个出现;

    7、q键:退出More Pages。

    8、v键:在当前启动vi命令。

    二十四、type识别bash的内置命令:type [选项] [命令名]

    常用的选项如下所示:

    1、-t:显示文件的类型(file为外部命令;alias为别名;builtin为bash的内置命令)

    2、-a:列出所有包含指定命令名的命令,也包括别名。

    3、-P:显示完整的文件名(外部命令),或者为内部命令。

    二十五、列出某命令的类型相关信息

    1、which命令

    2、whatis命令

    二十六、通配符

    1、*:将匹配0个(即空白)或多个字符;

    2、?:将匹配任何一个字符而且只能是一个字符;

    3、[a-z]:将匹配字符a-z范围内的所有字符;

    4、[^a-z]:匹配所有字符但是a-z范围内的除外;

    5、[xyz]:匹配方括号中的任意一个字符;

    6、[^xyz]:匹配不包括方括号中的字符的所有字符。

    二十七、列出曾经使用过的命令:history命令

    history命令显示结果的最左边是命令的编号,可以使用命令编号重新执行对应的命令。例如执行第1050行,!1050

    现在想把上面命令中的-w改为-c执行可以使用下面的命令:^-w^-c

    二十八、{}命令

    1、同时创建多个文件:touch {a,b}.{csv,txt}

    二十九、将一个命令的输出作为另一个命令的参数

    1、echo “This computer system’s name is `hostname`”

    2、echo “This computer system’s name is $(hostname)”

    三十、使用Linux进行数学运算

    1、num1=1;num2=2

       echo $[$num1 + $num2]

    三十一、恢复一个特殊字符的原来字符:转义字符(\)

    1、echo “$678”

       echo “\$678”

    2、\也可以用作换行

    三十二、单引号和双引号的区别

    1、单引号:禁止所有的命令行扩展功能

    2、双引号:禁止所有的命令行扩展功能,但以下特殊符号除外:$,`,\,!。

    三十三、几个常用的快捷键

    1、Ctrl + A:光标移动到命令行开始处;

    2、Ctrl + E:光标移动到命令行结尾处;

    3、Ctrl + U:删除到命令行开始处的所有内容;

    4、Ctrl + K:删除到命令行结尾处的所有内容;

    5、Ctrl + 箭头:向左向右移动一个字。

    三十四、搜索文件和目录:find命令

    1、find pathnames expressions actions各选项含义如下:

    (1)pathnames:搜寻起始的绝对路径或相对路径;

    (2)expessions:由一个或多个选项定义的搜寻条件;

    (3)actions:当文件被定位之后需要进行的操作。默认打印出所有满足条件的路径到屏幕上。

    2、在find命令中,可以使用如下的表达式(expressions)

    (1)-name文件名:查找与指定文件名相匹配的文件。在文件名中可以使用元字符(通配符),但是他们要放在双引号之内。

    (2)-size[+/-]n:查找大小大于+n、小于-n或等于n的文件。默认情况下,n代表512字节大小的数据块的个数。

    (3)-atime[+/-]n:查找访问时间超过/低于/等于n天的文件。

    (4)-mtime[+/-]n:查找更改时间超过n天不到n天或正好等于n天的文件。

    (5)-user loginID:查找属于loginID名(用户)的所有文件。

    (6)-type:查找某一类型的文件,如f(文件)或d(目录)。

    (7)-perm:查找所有具有某些特定的访问许可位的文件。

    3、find命令中可以使用如下的动作表达式(actions)

    (1)-exec 命令 {} \;:在每一个所定位的文件上运行指定的命令。(反斜线与大括号之间必须要有一个空格)

    (2)-ok 命令 {} \;:在find命令对每一个定位的文件执行命令之前需要确认。

    (3)-print:当前路径名打印在屏幕上,默认方式。

    (4)-ls:显示当前的路径名和相关的统计信息。

    三十五、重定向到文件中

    1、>:覆盖原文件内容

    2、>>:在原文件之后追加内容

    三十六、重定向标准输出和标准错误

    1、find / -name [命令] 1 > output.std:将命令路径追加到output.std中,控制台只打印出错误信息。

    2、find / -name [命令] 2 > errors.std:将错误信息追加到errors.std中,控制台只打印出命令路径。

    3、find / -name [命令] 2 > errors 1 > output:一条命令完成以上操作。

    4、find / -name [命令] > output_errs 2 > &1或者find / -name [命令] & > output_errs:将所有信息导出到一个文件中。

    三十七、将文件中的大写字母换成小写字母

    1、tr ‘A-Z’ ‘a-z’ < [文件名]:结果直接显示在屏幕上。

    2、tr ‘A-Z’ ‘a-z’ < winsql.sql > unixsql.sql:将winsql.sql中的大写字母换成小写字母后追加写入到unixsql.sql中。

    3、tr –d “\r” < dept.data > dept.data.unix:删除dept.data文件每行结束符中的\r符号。并将文件存储到dept.data.unix中。

    三十八、cut命令

    剪切命令从一个文件中剪切掉某些正文字段并将它们送到标准输出显示。格式为:cut [选项] [文件名]。

    常用的选项如下所示:

    -f:说明(定义)字段列

    -c:要剪切的字段

    -d:说明(定义)字段的分隔符(默认为Tab)

    注意:可在-f/-c/-d后面指定字段,如-f2/-c4-7

    三十九、paste命令:粘贴命令

        将每一个文件中的每一行用Tab字符分隔开并排序的写到标准输出上。如果命令中没有文件名或文件名使用了-,paste命令将以标准输入读入。可以使用paste命令将多个文件合并成一个文件,如果在paste命令中使用了-d选项将更改输出的分隔符(默认是Tab)。paste命令中的选项使用方法与cut类似。

    四十、sort命令

    将正文内容进行排序并将结果送到标准输出,但是原始文件的值不会改变。其格式为:sort [选项] [文件名]。

    常用的选项如下所示:

    -r:进行反向排序(降序),r是reverse的第一个字母。

    -f:忽略字符的大小写,f是folds的第一个字母。

    -n:以数字的顺序进行排序,n是numeric的第一个字母。

    -u:去掉输出中的重复行,u是unique的第一个字母。

    -t:-t c表示以c作为分隔符。

    -k:-k n表示按照第n个字段进行排序。

    -k n1,n2:表示先按第n1个字段进行排序,当第一个字段重复时再按照第二个字段排序。

    四十一、uniq命令:去掉文件中相邻的重复行

    常用的选项如下所示:

    -c:在显示的行前冠以该行出现的次数

    -d:只显示重复行

    -i:忽略字符的大小写

    -u:只显示唯一的行,即只出现一次的行

    四十二、使用管道符(|)操作符连接两个或多个Linux操作系统命令。语句为:命令1 | 命令2……

    例如:who | wc –l

    四十三、tee命令:分流输出

    如果想将前一个命令的输出结果直接输入给后一个命令,同时还要将前面命令的结果存入一个文件,此时可以使用tee命令。

    例如:cut –f1 –d: /etc/passwd | tee p.cut | sort –r | tee p.sort | more

    解释:tee p.cut将管道送过来的数据第一列存入p.cut,同时通过管道将这些数据传到下一个命令进行反向排序,然后存入p.sort,传入到下一个命令more。

    四十四、more /etc/passwd(查看passwd下的文件内容)

     

    以冒号为分隔符对内容进行解析:

    (1)用户的名字(在创建用户时,root用户起的);

    (2)若为x,表示登录时必须使用密码,若为空,则无需提供密码;

    (3)用户的uid;

    (4)用户所属群组的gid;

    (5)有关这个用户的注释信息;

    (6)用户的home路径;

    (7)用户登录后,第一个执行的进程。

    四十五、more /etc/group(查看group下的文件内容)

    以冒号为分隔符对内容进行解析:

    (1)群组的名称;

    (2)x表示登录群组时必须使用密码;

    (3)群组的gid;

    (4)群组里还有哪些成员。

    四十六、权限

    标号

    释义

    对应的数字

    r

    读权限

    4

    w

    写权限

    2

    x

    可执行权限

    1

    -

    表示没有相应的权限

    0

    四十七、检查磁盘空间

    1、df:显示文件系统中磁盘使用和空闲区的数量

    2、du:显示磁盘使用的总量

    3、df –h:列出每个系统(磁盘)的使用情况

    对上图每一列的释义:

    Filesystem:文件系统

    Size:磁盘总空间

    Used:已使用空间

    Avail:可用空间

    Use%:使用率

    Mounted on:挂载点

    4、df –i:列出每一个文件系统的i节点的使用情况

     

    5、du –sh:某用户Home目录下所使用的全部磁盘空间信息。

    四十八、diff命令:比较两个文件的差别

    <表示第一个文件的数据行,>表示第二个文件的数据行。

    例如:diff a.txt b.txt

    四十九、压缩和解压缩:gzip/gunzip;bzip2/bunzip2

    1、gzip [选项] [压缩文件名]

    常用的选项如下所示:

    -v:在屏幕上显示出文件的压缩比,v是verbose的第一个字母。

    -c:保留原来的文件,而新创建一个压缩文件,其中压缩文件以.gz结尾。

    2、使用tar命令的同时进行压缩(tar –zcvf [待压缩的文件])和解压缩(tar –zxvf [待解压的文件] –C [解压的目录])

    z:使用gzip技术来压缩打包好的文件;

    j:使用bzip2的技术来压缩打包好的文件。

    五十、grep命令搜索文件中的内容

    grep支持以下几种正则表达式的元字符,也称通配符。

    (1)c*:将匹配0个(即空白)或多个字符c;

    (2).:将匹配任意一个字符并且只能是一个字符;

    (3)[xyz]:匹配方括号中的任意一个字符;

    (4)[^xyz]:匹配不包括方括号中字符的任意字符;

    (5)^:锁定行的开头;

    (6)$:锁定行的结尾。

    注意:在基本正则表达式中,元字符等已经失去了它们原来的意义,可以使用转义字符(\)。

    语法格式:grep [选项] [模式] [文件名]。其中“模式”是指需要过滤出来的东西。

    常用的选项如下所示:

    (1)-c:仅列出包含模式的行数;

    (2)-i:忽略模式中字母的大小写;

    (3)-l:列出带有匹配行的文件名;

    (4)-n:在每行的最前面列出行号;

    (5)-v:列出没有匹配模式的行;

    (6)-w:把表达式作为一个完整的单字来搜寻,忽略那些部分匹配的行。

    五十一、vi编辑器:vi [选项] [文件名]

    1、常用的选项如下所示:

    (1)-r:恢复一个文件;

    (2)-R:以只读方式打开一个文件。

    2、插入模式:

    (1)a:进入插入模式并在光标之后进行添加;

    (2)i:进入插入模式并在光标之前进行添加;

    (3)A:进入插入模式并在光标当前行之后进行添加;

    (4)I:进入插入模式并在光标当前行之前进行添加;

    (5)o:进入插入模式并在光标当前行之下开启新的一行进行添加;

    (6)O:进入插入模式并在光标当前行之上开启新的一行进行添加;

    3、命令行下修改、删除与复制的操作:

    (1)cc:修改光标所在行;

    (2)dd:删除光标所在行;

    (3)yy:复制光标所在行;

    (4)cl:修改光标所在字符;

    (5)dl:删除光标所在字符;

    (6)yl:复制光标所在字符;

    (7)cw:修改光标所在字;

    (8)dw:删除光标所在字;

    (9)yw:复制光标所在字;

    (10)p:将数据放置在当前行之下;(如果之前操作的数据是字符,意思为:将数据放置在光标之后)

    (11)P:将数据放置在当前行之上。(如果之前操作的数据是字符,意思为:将数据放置在光标之前)

    4、存储和退出

    (1):w:将文件存入/写入磁盘;

    (2):q:退出vi 编辑器;

    (3):wq:将文件存入磁盘并退出vi 编辑器。

    注意:可以在以上命令之后加上!,!是强制执行的意思。

    5、快速移动光标在文件中的位置

    (1)G:跳转到文件的最后一行;

    (2)nG:跳转到文件的第n行;

    (3)Ctrl+D:光标向下移动半个屏幕;

    (4)Ctrl+U:光标向上移动半个屏幕。

    五十二、使用rpm安装及移除软件

    (1)rpm –i, --install:安装软件;

    (2)rpm –U, --upgrade:升级旧版本的软件;

    (3)rpm –F, --freshen:刷新/更新旧版本的软件;

    (4)rpm –e, --erase:移除/删除软件;

    (5)rpm –qa:显示目前操作系统上安装的全部软件包;

    (6)rpm –qf [文件名]:这个文件是由哪个软件包安装的;

    (7)rpm –qi [软件包名]:显示软件包的信息;

    (8)rpm –ql [软件包名]:列出软件包中所包含的全部文件。

    (9)-vh:表示显示详细的进度。

    五十三、附录

    1、基本知识

     

    root:当前的操作用户;slave01:当前用户所在主机;opt:当前用户在哪个目录;#:root用户;$:普通用户。

    2、ls:list列出某个目录下的文件

    (1)ls –a:查看某目录下所有文件,包括隐藏。

    (2)ls –l:以长格式方式显示某个目录下的文件,也可以用ll直接显示

    3、用户和用户组

    (1)超级用户:就是root用户,root用户的UID为0;

    (2)普通用户:UID从500开始,由root创建,不止一个;

    (3)伪用户:UID在1-499之间的都是伪用户,系统指定的一些进程,给它们也分配了一部分ID号,这部分伪用户不能够真正的登录,也没有目录。

    (4)创建用户:useradd [用户名]

    (5)创建用户组:groupadd [用户组名]。(创建用户的同时,会自动创建一个与其名称一样的用户组)

    (6)修改用户密码:passwd username或者echo ‘password’ --stdin username。其中,stdin表示输入的意思。

    (7)删除用户:userdel –r username。其中,-r表示彻底删除用户包括用户主目录。

    (8)gpasswd命令:管理用户组成员,增加或者删除。-a表示为用户组加入一个已经存在的用户;-d表示将用户在组的某用户移除。

    (9)useradd –G:创建一个新用户并加入到所属组。

    4、用户文件和目录权限

    (1)drwxrwxr-x:第一个字母为d代表目录,为-代表文件;第一个rwx代表所有者的权限,用u表示;第二个rwx代表所属组的权限,用g表示;r-x代表其他用户的权限,用o表示。

    (2)权限类别

    标号

    释义

    对应的数字

    r

    读权限

    4

    w

    写权限

    2

    x

    可执行权限

    1

    -

    表示没有相应的权限

    0

    (3)chmod命令:修改文件或目录的权限命令。字母用法:chmod u+x,g+w,g-r,o+x fileName;数字用法:chmod 764 –R filename/。其中-R表示递归修改文件的权限。

    (4)chown命令:修改文件的所有者或所属用户。例如:chown username /opt/1.txt。

    (5)chgrp命令:修改文件或目录的所属组用户。例如:chgrp username /opt/1.txt。

    (6)一条命令同时修改所属用户和所属组:chown –R username:username /opt/1.txt。

    5、管道符(|)

    管道符表示将前一个命令的结果传递给后一个命令进行处理,两边都是命令。

    例如:过滤筛选(grep):cat /etc/passwd | grep ‘root’。

        注意:如果命令一行未结束的话,可以使用\进行换行。

    6、find命令注意事项

    (1)根据文件名搜索:find /etc/ -name *init???

    注释:*号表示匹配任意的字符,?表示匹配单个字符。Linux中大小写是严格区分的,-iname表示不区分大小写。

    (2)根据文件大小搜索:find /etc/ -size +2M

    (3)根据所有者查找:find /root –user root。

    (4)根据所属组查找: find /root –group root。

    (5)根据文件类型进行查找:find /etc/ -name init* -type f。其中f代表文件,d代表目录。

    7、配置sudo权限

    # visudo

    找到相关内容,编辑为:

    root ALL=(ALL) ALL

    username ALL=(root) NOPASSWD:ALL

    注释:第一个ALL是指网络中的主机,我们后面把它改成了主机名。它指明了username可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以税的身份去执行命令,最后一个ALL指命令名。

    8、yum命令

    (1)yum list:查看yum源上拥有的软件。

    (2)yum list installed | more:查看系统中已经安装好的rpm包。

    (3)yum list updates | more:查询可以更新的软件。

    (4)yum –y install [包名]:安装某rpm包,包名不需要加.rpm的后缀。-y表示自动确认。

    (5)yum –y remove [包名]:卸载某rpm包。

    注意:推荐使用yum安装,使用rpm查询和卸载。

    9、系统管理命令

    (1)top命令:查看系统资源,相当于任务管理器,没隔三秒更新一次,q键退出。

    (2)free命令:查看内存信息。-m指的是以MB的格式显示。

    (3)df –l:查看硬盘分区的使用信息。

    (4)ps –ef:查看系统进程;jps:查看系统正在运行的Java进程。

     

    (5)kill命令:杀死正在运行的进程。例如:kill -9 [进程号]。

    (6)ifconfig命令:查看系统中所有网卡的IP、MAC信息。

    (7)netstat命令:查看网络端口。

    -t:监控tcp协议的进程

    -l:listening

    -n:显示端口号信息

    -p:显示进程的PID

     

    你们在此过程中遇到了什么问题,欢迎留言,让我看看你们都遇到了哪些问题。

    展开全文
  • linux如何恢复rm命令

    千次阅读 2016-04-22 16:42:02
    如果linux系统的某个命令,如rm不能用了,提示bash: rm: command not found,说明rm命令文件被删除了。添加方法如下: 1、进入/bin目录,从别外下载一个rm文件命令文件,上传至该目录中。 2、改权限: 前三位:...
    如果linux系统的某个命令,如rm不能用了,提示bash: rm: command not found,说明rm命令文件被删除了。添加方法如下:
    
    1、进入/bin目录,从别外下载一个rm文件命令文件,上传至该目录中。
    2、改权限:
    前三位:chmod u+x 文件名    u是前三位 x是x权限
    中三位:chmod g+x 文件名    g是中三位 x是x权限
    后三位:chmod o+x 文件名    o是后三位 x是x权限
    展开全文
  • Linux系统exec命令

    千次阅读 2014-01-15 19:49:14
    shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。  因此,如果你在一个shell里面,执行exec ls那么,当列出了...

    shell 中的 exec 两种用法:

    1.exec 命令 ;命令代替shell程序,命令退出,shell 退出;比如 exec ls

    2.exec 文件重定向,可以将文件的重定向就看为是shell程序的文件重定向 比如 exec 5</dev/null;exec 5<&-

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

    shell的内建命令exec将并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。 
    因此,如果你在一个shell里面,执行exec ls那么,当列出了当前目录后,这个shell就自己退出了,因为这个shell进程已被替换为仅仅执行ls命令的一个进程,执行结束自然也就退出了。为了避免这个影响我们的使用,一般将exec命令放到一个shell脚本里面,用主脚本调用这个脚本,调用点处可以用bash a.sh,(a.sh就是存放该命令的脚本),这样会为a.sh建立一个sub shell去执行,当执行到exec后,该子脚本进程就被替换成了相应的exec的命令。 
    source命令或者".",不会为脚本新建shell,而只是将脚本包含的命令在当前shell执行。 
    不过, 要注意一个例外,当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令。 
        exec 3<&0:这个命令就是将操作符3也指向标准输入。 


    另外,这个命令还可以作为find命令的一个选项,如下所示: 
    (1)在当前目录下(包含子目录),查找所有txt文件并找出含有字符串"bin"的行 
    find ./ -name "*.txt" -exec grep "bin" {} \; 
    (2)在当前目录下(包含子目录),删除所有txt文件 
    find ./ -name "*.txt" -exec rm {} \; 




    先总结一个表:


    exec命令                  作用
     
    exec ls          在shell中执行ls,ls结束后不返回原来的shell中了
     
    exec <file       将file中的内容作为exec的标准输入
     
    exec >file       将file中的内容作为标准写出
     
    exec 3<file      将file读入到fd3中
     
    sort <&3         fd3中读入的内容被分类
     
    exec 4>file      将写入fd4中的内容写入file中
     
    ls >&4           Ls将不会有显示,直接写入fd4中了,即上面的file中
     
    exec 5<&4         创建fd4的拷贝fd5
     
    exec 3<&-         关闭fd3
     


     


    1. exec 执行程序


     虽然exec和source都是在父进程中直接执行,但exec这个与source有很大的区别,source是执行shell脚本,而且执行后会返回以前的shell。而exec的执行不会返回以前的shell了,而是直接把以前登陆shell作为一个程序看待,在其上经行复制。


    举例说明:


    root@localhost:~/test#exec ls


    exp1  exp5  linux-2.6.27.54  ngis_post.sh  test  xen-3.0.1-install


    <logout>


     


    root@localhost:~/test#exec >text


    root@localhost:~/test#ls


    root@localhost:~/test#pwd


    root@localhost:~/test#echo "hello"


    root@localhost:~/test#exec>/dev/tty


    root@localhost:~/test#cat text 


    exp1


    exp5


    linux-2.6.27.54


    ngis_post.sh


    test


    text


    xen-3.0.1-install


    /root/test


    hello


    root@localhost:~/test#


    Exec >text 是将当前shell的标准输出都打开到text文件中


     


    root@localhost:~/test#cat test


    ls


    Pwd


    root@localhost:~/test#bash


    root@localhost:~/test#exec <test


    root@localhost:~/test#ls


    exp1  exp5  linux-2.6.27.54  ngis_post.sh  test  text  xen-3.0.1-install


    root@localhost:~/test#pwd


    /root/test


    root@localhost:~/test#


    root@localhost:~/test#exit       #自动执行


     


    2. exec的重定向


      先上我们进如/dev/fd/目录下看一下:


    root@localhost:~/test#cd /dev/fd


    root@localhost:/dev/fd#ls


    0  1  2  255


    默认会有这四个项:0是标准输入,默认是键盘。


    1是标准输出,默认是屏幕/dev/tty


    2是标准错误,默认也是屏幕


    255


    当我们执行exec 3>test时:


    root@localhost:/dev/fd#exec 3>/root/test/test 


    root@localhost:/dev/fd#ls


    0  1  2  255  3


    root@localhost:/dev/fd#


    看到了吧,多了个3,也就是又增加了一个设备,这里也可以体会下linux设备即文件的理念。这时候fd3就相当于一个管道了,重定向到fd3中的文件会被写在test中。关闭这个重定向可以用exec 3>&-。


    root@localhost:/dev/fd#who >&3


    root@localhost:/dev/fd#ls >&3


    root@localhost:/dev/fd#exec 3>&-


    root@localhost:/dev/fd#cat /root/test/te


    test  text  


    root@localhost:/dev/fd#cat /root/test/test 


    root     tty1         2010-11-16 01:13


    root     pts/0        2010-11-15 22:01 (192.168.0.1)


    root     pts/2        2010-11-16 01:02 (192.168.0.1)


    0


    1


    2


    255


    3


     


     


     


     


    3. 应用举例:


            exec 3<test


            while read -u 3 pkg


    do


    echo "$pkg"


    done




    . 系统调用exec是以新的进程去代替原来的进程,但进程的PID保持不变。因此,可以这样认为,exec系统调用并没有创建新的进程,只是替换了原来进程上下文的内容。原进程的代码段,数据段,堆栈段被新的进程所代替。


    一个进程主要包括以下几个方面的内容:


    (1)一个可以执行的程序


    (2) 与进程相关联的全部数据(包括变量,内存,缓冲区)


     


    (3)程序上下文(程序计数器PC,保存程序执行的位置)


    2. exec是一个函数簇,由6个函数组成,分别是以excl和execv打头的。


    执行exec系统调用,一般都是这样,用fork()函数新建立一个进程,然后让进程去执行exec调用。我们知道,在fork()建立新进程之后,父进各与子进程共享代码段,但数据空间是分开的,但父进程会把自己数据空间的内容copy到子进程中去,还有上下文也会copy到子进程中去。而为了提高效率,采用一种写时copy的策略,即创建子进程的时候,并不copy父进程的地址空间,父子进程拥有共同的地址空间,只有当子进程需要写入数据时(如向缓冲区写入数据),这时候会复制地址空间,复制缓冲区到子进程中去。从而父子进程拥有独立的地址空间。而对于fork()之后执行exec后,这种策略能够很好的提高效率,如果一开始就copy,那么exec之后,子进程的数据会被放弃,被新的进程所代替。


    3. exec与system的区别


    (1) exec是直接用新的进程去代替原来的程序运行,运行完毕之后不回到原先的程序中去。


    (2) system是调用shell执行你的命令,system=fork+exec+waitpid,执行完毕之后,回到原先的程序中去。继续执行下面的部分。


    总之,如果你用exec调用,首先应该fork一个新的进程,然后exec. 而system不需要你fork新进程,已经封装好了。


    exec I/O重定向详解及应用实例


    1、 基本概念(这是理解后面的知识的前提,请务必理解)


    a、 I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9;


    b、 常用FD有3个,为0(stdin,标准输入)、1(stdout,标准输出)、2(stderr,标准错误输出),默认与keyboard、monitor、monitor有关; 




    c、 用  来改变送出的数据信道(stdout, stderr),使之输出到指定的档案;


    e、 0 是  与 1> 是一样的;


    f、 在IO重定向 中,stdout 与 stderr 的管道会先准备好,才会从 stdin 读进资料;


    g、 管道“|”(pipe line):上一个命令的 stdout 接到下一个命令的 stdin;


    h、 tee 命令是在不影响原本 I/O 的情况下,将 stdout 复制一份到档案去;


    i、 bash(ksh)执行命令的过程:分析命令-变量求值-命令替代(``和$( ))-重定向-通配符展开-确定路径-执行命令;


    j、 ( ) 将 command group 置于 sub-shell 去执行,也称 nested sub-shell,它有一点非常重要的特性是:继承父shell的Standard input, output, and error plus any other open file descriptors。


    k、 exec 命令:常用来替代当前 shell 并重新启动一个 shell,换句话说,并没有启动子 shell。使用这一命令时任何现有环境都将会被清除。exec 在对文件描述符进行操作的时候,也只有在这时,exec 不会覆盖你当前的 shell 环境。


    2、cmd &n 使用系统调用 dup (2) 复制文件描述符 n 并把结果用作标准输出


    &- 关闭标准输出


    n&- 表示将 n 号输出关闭


    上述所有形式都可以前导一个数字,此时建立的文件描述符由这个数字指定而不是缺省的 0 或 1。如:


    ... 2>file 运行一个命令并把错误输出(文件描述符 2)定向到 file。


    ... 2>&1 运行一个命令并把它的标准输出和输出合并。(严格的说是通过复制文件描述符 1 来建立文件描述符 2 ,但效果通常是合并了两个流。)


    我们对 2>&1详细说明一下 :2>&1 也就是 FD2=FD1 ,这里并不是说FD2 的值 等于FD1的值,因为 > 是改变送出的数据信道,也就是说把 FD2 的 “数据输出通道” 改为 FD1 的 “数据输出通道”。如果仅仅这样,这个改变好像没有什么作用,因为 FD2 的默认输出和 FD1的默认输出本来都是 monitor,一样的!


    但是,当 FD1 是其他文件,甚至是其他 FD 时,这个就具有特殊的用途了。请大家务必理解这一点。


    3、 如果 stdin, stdout, stderr 进行了重定向或关闭, 但没有保存原来的 FD, 可以将其恢复到 default 状态吗?


    *** 如果关闭了stdin,因为会导致退出,那肯定不能恢复。


    *** 如果重定向或关闭 stdout和stderr其中之一,可以恢复,因为他们默认均是送往monitor(但不知会否有其他影响)。如恢复重定向或关闭的 stdout: exec 1>&2 ,恢复重定向或关闭的stderr:exec 2>&1。


    *** 如果stdout和stderr全部都关闭了,又没有保存原来的FD,可以用:exec 1>/dev/tty 恢复。


    4、 cmd >a 2>a 和 cmd >a 2>&1 为什么不同?


    cmd >a 2>a :stdout和stderr都直接送往文件 a ,a文件会被打开两遍,由此导致stdout和stderr互相覆盖。


    cmd >a 2>&1 :stdout直接送往文件a ,stderr是继承了FD1的管道之后,再被送往文件a 。a文件只被打开一遍,就是FD1将其打开。


    我想:他们的不同点在于:


    cmd >a 2>a 相当于使用了两个互相竞争使用文件a的管道;


    而cmd >a 2>&1 只使用了一个管道,但在其源头已经包括了stdout和stderr。


    从IO效率上来讲,cmd >a 2>&1的效率应该更高!


    exec 0exec 1>outfilename # 打开文件outfilename作为stdout


    exec 2>errfilename # 打开文件 errfilename作为 stderr


    exec 0&- # 关闭 FD1


    exec 5>&- # 关闭 FD5




    1.查询所有保护字符串“Hello”的文件


    find / -exec grep "Hello" {} \;


    2.删除所有临时文件


    find / -name "*.tmp" -exec rm -f {} \;


    3 删除20天以前的文件


    find / -name "*" -ctime +20 -exec rm -f {} \; (不要执行哦,要看清楚哈)


    注:+20 表示20天以前






    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-01/31400p3.htm
    本篇文章来源于 Linux公社网站(www.linuxidc.com)  原文链接:http://www.linuxidc.com/Linux/2011-01/31400p2.htm 


    展开全文
  • linux系统文件管理命令

    千次阅读 2018-03-30 17:48:31
    2.shell是一种解释器,是保护系统内核不被篡改的软件,我们现在所使用的linux系统中默认启动的shell是bash。3.在shell中命令必须在行提示符之后输入,若行提示符被占用,那么,ctrl+c可以结束占用当前行提示符从而...
  • linux修改系统时间和恢复时间的命令

    千次阅读 2020-04-20 15:56:00
    修改系统时间 先查询当前系统时间 # date 输入需要修改的日期、时间 # date -s 完整日期时间(YYYY-MM-DD ...将系统时间设定成上午10点18分0秒的命令如下 #date -s 10:18:00 恢复系统时间 #ntpdate -u ntp.api.bz ...
  • Linux系统tput命令用法实例详解

    千次阅读 2016-09-19 22:22:22
    系统上需要一个彩色监视器和tput命令。tput使用文件/etc/terminfo或/etc/termcap,这样就可以在脚本中使用终端支持的大部分命令了。 在使用tput前需要使用tput命令初始化终端: $ tput init tput产
  • centos 6 系统 echo '12345' > /www/server/panel/data/port.pl && /etc/init.d/bt restart iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 12345 -j ACCEPT service iptables save ...
  • Linux系统是服务器最常见的操作系统,当然也面临着非常多的安全事件,当发生删除文件错误的时候,恢复文件就尤为重要了,下面这篇文章主要介绍了Linux恢复删除文件的lsof命令,需要的朋友可以参考借鉴,下面来一起看...
  • 主要介绍了Linux 下进程的挂起和恢复命令,非常不错,具有参考借鉴价值,需要的朋友可以参考下
  • Linux系统终端常用指令命令汇总

    万次阅读 多人点赞 2018-07-20 17:37:39
    命令 功能说明 线上查询及帮助命令 man ... 查看命令帮助,命令... 查看Linux内置命令的帮助,比如cd命令。 文件和目录操作命令 ls 全拼list,功能...
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2019-07-25 16:40:12
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • Linux 常用备份恢复命令-tar

    千次阅读 2014-03-09 22:19:10
    Linux 常用备份恢复命令-tar 作者:  CNETNews.com.cn  2008-08-25 20:01:39 关键词: 操作系统 备份恢复 Linux   tar工具是以前备份文件的可靠方法,几乎可以工作于任何环境中,Linux老...
  • DD命令备份Linux系统

    千次阅读 2017-02-24 15:48:50
    其实Linux使用dd命令备份系统就是Ghost,类似于window的Ghost版本。    进入Linux操作系统,打开命令行,执行如下命令:  sudo fdisk -u -l  可以查看所有磁盘上的所有分区的尺寸和布局情况。 ...
  • 现有linux系统,由硬盘sda运行,想将其整体拷贝至硬盘sdb,并由sdb启动系统,如何做? 两种方案,第一种方案tar命令压缩拷贝;第二种方案,linux dd命令直接拷贝。 1、第一种方案,tar压缩备份恢复 tar压缩备份后,...
  • Linux常用命令

    万次阅读 多人点赞 2019-03-10 17:14:35
    Linux常用命令
  • Linux系统恢复

    千次阅读 2019-05-01 23:02:36
    MBR恢复 dd if=/dev/zero of=/dev/vda bs=446 count=1 MBR主引导分区破坏以后修复 挂载光盘,选择troubshooting,选择rescue system ,挂载至根目录,重建MBR ...linux16 /vm… ro root=/dev/vd...
  • Linux)误删文件恢复命令及方法

    万次阅读 2018-12-07 18:32:09
    前言 无论在哪个系统中,删除文件都是必须谨慎的操作。如果不小心删除了,重要文件就糟糕了。下面介绍的就是
  • dd命令 备份和恢复磁盘 linux系统

    千次阅读 2017-12-15 11:47:32
    指令输出中所显示的命令执行时间(选时间最少的那个),即可 确定系统最佳的block size大小 注意 : 其中磁盘要以 -o sync 的选项挂载,否则会导致数据写入到缓存中,而非写入磁盘上去,导致测试不准确 dd ...
  • linux系统的vim命令

    千次阅读 2018-04-24 21:51:24
    简介:本文主要讲述vim命令的使用格式以及vim的三种模式(命令模式、插入模式、退出模式)vim #编写文件vim file #进入浏览模式1.编辑文件当文件名称存在时,进入文件直接编辑当名称不...当vim异常退出时,系统会建...
  • 知识点恢复Linux系统 四川邮电职业技术学院 黄晓波; 一tar命令简介; 一tar命令简介; 二完整恢复Linux系统; 二完整恢复Linux系统; 二完整恢复Linux系统; 二完整恢复Linux系统; 三部分恢复Linux系统; 三部分恢复Linux...
  • Linux系统备份与恢复

    万次阅读 2016-08-10 22:30:06
    Linux系统备份与恢复 1 什么是备份? 简言之,备份就是将重要的数据拷贝出来,复制到其他位置,以避免数据的彻底丢失,导致工作的无法继续。有了备份,如果不慎将原数据丢失了,还可以通过拷贝备份数据来进行还原。...
  • Linux 使用rm -rf /*命令后,恢复系统方法 个人学习记录 这里实验环境采用的是radhel7.1的版本: 个人认为核心就是缺失什么组件,就从别的地方复制什么组件过来,先把系统拉起来,再慢慢恢复配置 进入救援模式 1、...
  • linux rm 命令误删文件恢复

    千次阅读 2019-01-26 10:44:55
    首先, 用rm命令误删了文件,并不是不可以恢复. 首先需要查看一下误删文件所在的分区和文件格式 $df -T 文件系统 类型 1K-块 已用 可用 已用% 挂载点 /dev/sdc8 ext4 171639696 128461364 3443...
  • linux使用dd命令拷贝和恢复镜像

    万次阅读 2018-04-01 10:30:12
    dd命令拷贝和恢复镜像 fdisk -l 查看当前所有分区信息(必须用root) Device Boot Start End Blocks Id System /dev/sdb1 2048 1002047 500000 83 Linux /dev/sdb2 1002048 12...
  • 所删除的文件,一般都不能恢复! 2.rm -f 其中的,f参数 (f --force ) 忽略不存在的文件,不显示任何信息 不会提示确认信息。 3.rm 命令删除一个目录中的一个或者多个文件或者目录,只用rm命令不会 删除目录,通常...
  • Linux中rpm命令误卸载了的恢复

    千次阅读 2017-12-14 16:48:41
    在Google了翻了好多个页面,甚至官网也看了,没能解决我的问题,根据本人多年Linux的经验以及Linux系统的rpm软件包安装特点的敏感,本人想出了以下的方法,请注意:独创!为做集群,这里用到了两台机器,下面是拓扑...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 199,174
精华内容 79,669
关键字:

linux系统恢复命令

linux 订阅