Linux系统常用命令

论坛 期权论坛 脚本     
匿名技术用户   2021-1-4 15:21   11   0
  • Linux系统常用命令(原创)
  • 发布时间:2018-01-19 来源:网络 上传者:用户

    关键字: 命令 常用 原创 系统 Linux 17

    发表文章
  • 摘要:1.通过su命令切换用户su-root从当前普通用户切换到root超级用户,需要输入密码su-user从root超级用户切换到其他普通用户,无需输入密码如果是从一个普通用户到另一个普通用户,需要输入密码2.1useradd:添加用户账号。useradd[选项]用户名useraddyuluseradd添加用户账号,系统会新建”/home/yul”作为新用户工作目录,即:在“/home”目录下为对应账号建立一个名为同名的主目录,并且还为该用户单独建立一个与用户名同名的组;user
  • 1.通过su命令切换用户

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

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

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

    2.1 useradd:添加用户账号。

    useradd [选项] 用户名

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

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

    useradd必须用root权限;

    adduser是useradd的符号链接

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

    passwd [选项] [用户名]

    passwd 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 -m777 ./why -m创建相应权限的目录(777表示三个组的读写执行权限,读:4,写:2,执行:1)

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

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

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

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

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

    cat -bhello1.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命令将各参数指定的源文件均移至目标目录中;

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

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

    rm [选项] 文件或目录

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

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

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

    一一确认

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

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

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

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

    chown rootuClinux-dist.tar

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

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

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

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

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

    chgrproot uClinux-dist.tar

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

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

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

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

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

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

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

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

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

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

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

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

    chmod a+rx,u+wuclinux.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 gziphello.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 -fhello.c 压缩/解压缩时强制覆盖已存在的文件

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

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

    = gunziphello.gz

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

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

    11.2 gunziphello.gz 解压缩文件

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

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

    =zcathello.gz

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

    综合上面所述,总结为:

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

    解压文件用:gunzip -dtlvxxx.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 -cvfxxx.tar ./ 将当前文件夹内的文件全部打包

    查看包内容:

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

    解包:

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

    打包并且压缩文件:

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

    解压,并解包

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

  • 以上是17.Linux系统常用命令(原创)的内容,更多 命令 常用 原创 系统 Linux 17 的内容,请您使用右上方搜索功能获取相关信息。
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP