17.Linux系统常用命令(原创)

1.    通过su命令切换用户

su  -  root   从当前普通用户切换到root超级用户,需要输入密码

su  -  user     从root超级用户切换到其他普通用户,无需输入密码

                如果是从一个普通用户到另一个普通用户,需要输入密码

 

2.1 useradd:添加用户账号; userdel:删除用户账号

useradd  [选项]  用户名

   useradd  yul     useradd添加用户账号,系统会新建”/home/yul”作为新用户工作目录,即:在“/home”目录下为对应账号建立一个名为同名的主目录,并且还为该用户单独建立一个与用户名同名的组;

                    useradd所建立的账号保存在“/etc/passwd”文本文件中,文件中每一行包含一个账号信息;

                    useradd必须用root权限;

                    adduser是useradd的符号链接

查看一下刚刚创建的用户yul的信息

输入命令:grep   yul   /etc/passwd   /etc/shadow    /etc/group

在/etc/passwd里面创建一行与账号相关的数据,包括创建UID/GID/主文件夹等

在/etc/shadow里面将此账号的密码相关参数填入

在/etc/group里面加入一个与账号名称一样的组名

userdel -r xsz  删除建立的账户xsz,连同home目录下的账户主目录也删除


2.2 passwd:更改对应用户账号密码。

passwd   [选项]   [用户名]

   passwd  yul     回车后,需要输入密码;

                    也可以用于普通用户修改账号密码

注意:没有设置密码的Linux用户可能是无法登陆的,所以useradd   yul之后,一定要马上passwd  yul 


2.3 userdel  -r   yul 删除用户


3.1 ps:显示当前系统中由该用户运行的进程列表。

ps  [选项]

ps  -ef    查看所有进程及其PID进程号,系统时间,命令详细目录,执行者等。

ps  -aux   显示-ef内容,还可显示CPU及内存占用率,进程状态

ps  -w     显示加宽并且可以显示较多的信息,通常最多加宽三次ps –auxwww

ps –ef|grep ntp      ps –ef的结果直接输入到grep ntp的程序中,使用管道;

管道即:把一个程序的输出直接连接到另一个程序的输入,而不经过任何中间文件

 

3.2kill:输出特定的信号给指定PID(进程号)的进程,并根据该信号而完成指定的行为。其中可能的信号有进程挂起、进程等待、进程终止等;

当选项是缺省时为输出终止信号给该进程。

kill  [选项]  进程号(PID)

    kill  7421   终止进程号为7421的进程

 

4 fdisk –l  查看硬件分区情况(文件系统分区情况);

           必须拥有root权限;

             IDE硬盘对应的设备名称分别为hda、hdb、hdc和hdd,SCSI硬盘对应的设备名称则为ssda、sdb、…此外,hda1代表hda的第一个硬盘分区,hda2代表hda的第二个分区,依此类推;

            通过查看/var/log/messages文件,可以找到Linux系统已辨认出来的设备代号。


5  mount   磁盘挂载命令,挂载文件系统,它的使用权限是超级用户或/etc/fstab中允许的使用者;

              挂载是指把分区和目录对应的过程,而挂载点是指挂载在文件树中的位置;

              mount 命令就可以把文件系统挂载到相应的目录下,并且由于Linux中把设备都当作文件一样使用;

              在Linux下“/mnt”目录是专门用于挂载不同的文件系统的,它可以在该目录下新建不同的子目录来挂载不同的设备文件系统。

 

    mount  [选项]   [类型]   设备文件名   挂载点目录

 

例:Linux下使用U盘呢?

一般U盘为SCSI格式的硬盘,其格式为vfat格式,其设备号可通过“fdisk –l”进行查看,假若设备名为“/dev/sda1”,则可用如下命令就可将其挂载:

       mount -t  vfat  /dev/sda1  /mnt/u    (/mnt/u为手动建立的文件夹)

·  若想设置在开机时自动挂载,可在文件“/etc/fstab”中加入相应的设置行即可。

 

使用mount命令主要通过以下几个步骤。

①   确认是否为Linux可以识别的文件系统,Linux可识别的文件系统只要是以下几种。

·  Windows95/98常用的FAT32文件系统:vfat。

·  WinNT/2000的文件系统:ntfs。

·  OS/2用的文件系统:hpfs。

·  Linux用的文件系统:ext2、ext3、nfs。

·  CD-ROM光盘用的文件系统:iso9660。

②   确定设备的名称,确定设备名称可通过使用命令“fdisk -l”查看。

③   查找挂接点。

必须确定挂载点已经存在,也就是在“/mnt”下的相应子目录已经存在,一般建议在“/mnt”下新建几个如“/mnt/windows”,“/mnt/usb”的子目录,现在有些新版本的Linux(如红旗Linux、中软Linux、MandrakeLinux)都可自动挂载文件系统,Red Hat仅可自动挂载光驱。

④ 在使用完该设备文件后可使用命令umount将其卸载

 

6.1  cd      回主目录(缺省cd),为了改变到指定目录,用户必须拥有对指定目录的执行和读权限。

cd  -   回到前次工作目录(cd加一杠,减号的那一杠)

     cd  ..   回上级目录

   “./”代表当前目录,“../”代表上级目录。(本目录下创建目录很有用)

   

6.2  ls  -l     查看当前目录下的所有文件,并通过选项“-l”显示出详细信息

               显示格式说明如下:

文件类型与权限  链接数  文件属主  文件属组  文件大小  修改的时间  名字

     ls -a    显示出所有“.”开头的文件

 

6.3  mkdir        创建一个目录,或者说文件夹

     mkdir  -p   ./hello/my     -p一次创建多级目录,若目录不存在,自动创建

     mkdir  -m 777  ./why     -m创建相应权限的目录(777表示三个组的读写执行权限,读:4,写:2,执行:1)

    该命令要求创建目录的用户在创建路径的上级目录中具有写权限,并且路径名不能是当前目录中已有的目录或文件名称。

 

6.4  cat    连接并显示指定的一个和多个文件的有关信息。

    cat   [选项]   文件1    文件2…

cat  -n    hello1.c   hello2.c     打印hello1.c后紧接着打印hello2.c的所有内容;

                                 并且从第一行开始输出所有行号;

cat  -b   hello1.c   hello2.c      和-n类似,不过对于空白行不编号

 

6.5  cp    将给出的源文件复制为目标文件;

或将给出的多个源文件复制到目标目录中;

或将给出的目录复制到指定目录中。

    cp   [选项]    源文件或目录    目标文件或目录

    cp   -a   ./my/why/   ./       将/my/why目录下的所有文件复制到当前目录下,原目录文件不变

 

6.6  mv:为文件或目录改名或将文件由一个目录移入另一个目录中。

    mv   [选项]    源文件或目录   目标文件或目录

mv   -I   . /my/why/   ./       将/my/why目录下的所有文件移至当前目录,原

目录下文件自动被删除

mv命令根据命令中第二个参数类型的不同(是目标文件还是目标目录)来判断是重命名还是移动文件:

①当第二个参数类型是文件时,mv命令完成文件重命名,此时,它将所给的源文件或目录重命名为给定的目标文件名,如:mv  test.cpp  test.c

·   ②当第二个参数是已存在的目录名称时,mv命令将各参数指定的源文件均移至目标目录中;

③在跨文件系统移动文件时,mv先复制,再将原有文件删除,而链至该文件的链接也将丢失。

 

6.7  rm:删除一个目录中的一个或多个文件或目录。

    rm   [选项]    文件或目录

rm  -r -I  ./why      -i参数表示系统会确认是否删除(即交互式删除)

                      -r参数表示rm将全部目录和子目录均递归地删除

rm  -rf  test2         命令会将 test2 子目录及子目录中所有档案删除,并且不用

一一确认

  

注意:如果没有使用- r 选项,则rm不会删除目录;

 

7.1  chown:修改文件所有者和组别。

     chown    [选项]...   文件所有者     [所有者组名]      文件

                     -------其中的文件所有者为修改后的文件所有者。

   chown  root uClinux-dist.tar

命令的作用:将ls  -l 显示出来的一下文件属主(加粗选项)改变名称

文件类型与权限  链接数  文件属主  文件属组  文件大小  修改的时间  名字

 

7.2 chgrp:改变文件的组所有权。

      chgrp    [选项]...    文件所有组     文件

--------其中的文件所有组为改变后的文件组拥有者。

    chgrp root  uClinux-dist.tar

命令的作用:将ls  -l 显示出来的一下文件属组(加粗选项)改变名称

文件类型与权限  链接数  文件属主  文件属组  文件大小  修改的时间  名字

说明:使用chown和chgrp必须拥有root权限。

 

8.自动补全:输入文件前几个字母+<Tab>键的方式

 

9 .chmod    改变文件的访问权限;

             可使用符号标记进行更改和八进制数指定更改两种方式,因此它的格式也有两种不同的形式;

①     符号标记:chmod    [选项]…     符号权限    [符号权限]…    文件

其中的符号权限可以指定为多个,也就是说,可以指定多个用户级别的权限,但它们中间要用逗号分开表示,若没有显示指出则表示不作更改。

②     八进制数: chmod    [选项] …    八进制权限    文件…

其中的八进制权限是指要更改后的文件权限

 

说明:文件的访问权限可表示成:- rwx rwx rwx。在此设有三种不同的访问权限:读(r)、写(w)和运行(x)。三个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。在此,可增加一个用户级别a(all)来表示所有这三个不同的用户级别

 

①   对于第一种符号连接方式的chmod命令中,用加号“+”代表增加权限,用减号“−”删除权限,等于号“=”设置权限。

chmod   a+rx,u+w  uclinux.tgz    所有三个不同用户级别全部增加r和x权限,

                                  文件拥有者(u)增加w权限

chmod   u=rwx,g=rw,o=rx  uclinux.tgz  文件拥有者(u)增加rwx,所属的用户组(g)增加rw,系统里的其他用户(o)增加rx

②  对于第二种八进制数指定的方式,将文件权限字符代表的有效位设为“1”,即“rw-”、“rw-”和“r--”的八进制表示为“110”、“110”、“100”,把这个2进制串转换成对应的8进制数就是6、6、4,也就是说该文件的权限为664(三位八进制数)。

 

10.  grep    在指定文件中搜索特定的内容,并将含有这些内容的行标准输出

    grep   [选项]    格式   [文件及路径]

                 --------其中的格式是指要搜索的内容格式,若缺省“文件及路径”则默认表示在当前目录下搜索。

    grep   “hello”   /-r      “hello”是要搜索的内容,“/ -r”是指定文件,表示搜索根目录下的所有文件。

   在缺省情况下,“grep”只搜索当前目录。如果此目录下有许多子目录,“grep”会以如下形式列出:“grep:sound:Is a directory”这会使“grep”的输出难于阅读。但有两种解决的方法:

①明确要求搜索子目录:grep –r(正如上例中所示);

②忽略子目录:grep -d skip。  

 

当预料到有许多输出,可以通过管道将其转到“less”(分页器)上阅读:

如grep  "h"  ./-r | less分页阅读。

grep特殊用法:

grep pattern1|pattern2 files:显示匹配pattern1或pattern2的行;

grep pattern1 files|grep pattern2:显示既匹配pattern1又匹配pattern2的行;

 

正则表达式

在文件命令中经常会使用pattern正则表达式,它是可以描述一类字符串的模式(Pattern),如果一个字符串可以用某个正则表达式来描述,就称这个字符和该正则表达式匹配。这和DOS中用户可以使用通配符“*”代表任意字符类似。

在Linux系统上,正则表达式通常被用来查找文本的模式,以及对文本执行“搜索-替换”操作等。正则表达式的主要参数有:

· \:忽略正则表达式中特殊字符的原有含义;

·  ^:匹配正则表达式的开始行;

·  $:匹配正则表达式的结束行;

· <:从匹配正则表达式的行开始;

· >:到匹配正则表达式的行结束;

· [ ]:单个字符,如[A]即A符合要求;

· [-]:范围,如[A-Z],即A、B、C一直到Z都符合要求;

· 。:所有的单个字符;

·  *:所有字符,长度可以为0。


11. Linux系统的压缩和解压缩,打包和解包命令

11.1  gzip hello.c     将文件hello.c压缩为hello.gz,删除源文件hello.c

      gzip -c  hello.c  将hellow.c压缩为hello.gz,不删除源文件(显示压缩信息)

                         (我的Linux版本可能有问题,-c选项指令始终无法生效

                            还显示一堆乱码)

      gzip -v   hello.c   显示压缩前后的文件名和压缩比(-l是文件大小,区分)

      

      gzip  -t   hello.c    验证压缩文件的完整性。如果文件完整则不显示任何信息

      gzip  -f   hello.c    压缩/解压缩时强制覆盖已存在的文件

      gzip  -r    test   递归压缩/解压缩test文件夹中的所有文件(如果文件夹里面还有文件夹,也要把最底层文件夹里面的问价压缩)

    

      gzip  -d   hello.gz   解压缩文件hello.gz

      = gunzip hello.gz

      gzip  -l   hello.gz   对已压缩文件,仅显示压缩前后文件大小,以及压缩比,压

                                    缩前文件名,不解压(我的Linux版本依然无法生效)

 

11.2  gunzip hello.gz    解压缩文件

      gunzip  -l   hello.gz    仅显示压缩前后文件大小,以及压缩比,不解压

      gunzip  -c  hello.gz    仅显示压缩文件内容,不解压

      =zcat hello.gz

     

11.3  zcat   hello.gz   仅显示压缩文件的内容,不解压

    

综合上面所述,总结为:

压缩文件用:gzip    -cv  xxx       -r用于文件夹所有文件     -f用于覆盖源文件

解压文件用:gunzip  -dtlv  xxx.gz    -l用于查看文件大小及压缩比  

-v用于查看文件名以及压缩比

-c用于查看内容

查看:zcat  hello.gz     

   注意:gzip  gunzip  zcat都只能压缩单个文件,加-r也还是对单个单个文件

 

 

 

12.1 打包

-c :建立一个压缩档案的参数指令(create的意思)

-r  :向打包文件中追加文件

-x :解开一个压缩档案的参数指令!

 

-f  :对普通文件操作,使用档名,请留意,在 f之后要立即接档名喔!不要再加参数

并且文档名是自己取的。(常用)

 

-t :查看 tarfile里面的档案!

-v : 处理过程中输出相关信息

-o :  打印文件到标准输出

-z  :调用gzip来压缩打包文件,与-x连用调用gzip完成解压缩

特别注意,在参数的下达中, c/x/t仅能存在一个!不可同时存在!

 

打包文件:

tar  -cvf xxx.tar   ./    将当前文件夹内的文件全部打包

查看包内容:

tar  -tf   xxx.tar     列出xxx.tar包中的所有内容

解包:

tar  -xvf  xxx.tar      从xxx.tar中解包所有文件,覆盖已有同名文件

 

打包并且压缩文件:

tar  -cvzf  xxx.tar.gz   ./   将当前文件夹内的文件全部打包成xxx.tar,再将其压缩

解压,并解包

tar  -xvzf xxx.tar.gz      将xxx.tar.gz内容解压为xxx.tar,再将其解包到当前文件夹


 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值