Linux 操作系统核心命令

    技术2022-07-10  191

    Linux中的路径

    命令作用/表示根目录,是绝对路径./表示当前目录,是相对路径…/表示上一级目录,是相对目录/root表示root用户的主目录/bin存放Linux常用的命令/etc存放系统管理时用到的配置文件和子目录/sbin存放管理员的系统管理程序

    vi 编辑器

    命令作用vi +文件名生成新文件或者编辑查看文件i 或者 a进入编辑模式,i位插入文本,a 位追加文本esc退出编辑模式进入命令模式:w保存文本:wq保存并退出:wq!保存并强制退出:q!强制退出dd删除一行文字x删除一个文字$移动光标到本行最后面^移动光标到本行最前面G移动光标到文章的最后面gg移动光标到文章的最前面/字符串查找某个字符串n继续查找

    文件操作

    1. ls命令

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

    (1)ls示例一——不带参数

    [root@yxy ~]# ls

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

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

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

    [root@yxy ~]# ls -a

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

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

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

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

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

    [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 11月13 18:15 install.log

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

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

    rwx rwx r-x

    (4)ls示例四——递归显示

    [root@yxy ~]# ls -R

    .:

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

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

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

    2. pwd命令

    示例:pwd

    [root@yxy ~]# pwd

    /root

    功能:显示当前目录。

    3. mkdir命令

    (1)mkdir示例一

    [root@yxy ~]# mkdir abc

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

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

    [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. touch、vi、cat命令

    (1)touch示例一——创建空文件 [root@yxy ~]# touch myfile

    [root@yxy ~]# ls -l myfile

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

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

    vi——创建文件并进入 vi 编辑界面 vi /usr/learn/test.txt

    cat >/usr/learn/test.txt 创建test.txt并在屏幕上输入内容,最后按Ctrl+d 退出

    5. cp命令

    (1)cp示例一——复制文件

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

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

    (2)cp示例二——复制目录

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

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

    6. mv命令

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

    [root@yxy ~]# mv myfile mydir1

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

    (2)mv示例二——文件改名

    [root@yxy ~]# mv myfile myfile2

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

    7. rmdir命令

    [root@yxy ~]# rmdir mydir1

    功能:删除指定的空目录。

    8. rm命令

    (1)rm示例一——删除文件

    [root@yxy ~]# rm php.ini

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

    (2)rm示例二——删除目录

    [root@yxy ~]# rm -rf abc

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

    9. cat命令

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

    [root@yxy ~]# cat myfile

    hello,world

    功能:显示指定文件myfile的内容。

    (2)cat示例二——创建文件

    [root@yxy ~]# cat > myfile2

    Welcome to Linux World!

    按ctrl+d结束输入

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

    10 more和 less命令

    more /etc/httpd/conf/httpd.conf

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

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

    11. head命令

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

    head /etc/httpd/conf/httpd.conf

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

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

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

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

    二、用户、组管理命令

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

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

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

    其中UID与GID独立编号。

    1. groupadd命令

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

    [root@yxy ~]# groupadd mygroup1

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

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

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

    groupadd -g 5000 mygroup2

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

    2. useradd命令

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

    [root@yxy ~]# useradd user1

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

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

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

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

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

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

    -u指定UID号为600;

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

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

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

    3. userdel命令

    (1)userdel示例一——删除用户

    [root@yxy ~]# userdel user1

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

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

    [root@yxy ~]# userdel -r user2

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

    4. groupdel命令

    [root@yxy ~]# groupdel mygroup2

    功能:删除指定的组

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

    5. passwd命令

    (1)passwd示例一——改变口令

    [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.

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

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

    [root@yxy ~]# passwd -l user1

    Locking password for user user1.

    passwd: Success

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

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

    [root@yxy ~]# passwd –u user1

    Unlocking password for user user1.

    passwd: Success.

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

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

    [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)

    功能:显示用户的UID、GID及所属的组信息。

    三、 文件属性操作命令

    1. chown命令

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

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

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

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

    chown -R user1 mydir

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

    2. chgrp命令

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

    chgrp mygroup1 hello.txt

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

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

    chgrp -R mygroup1 mydir

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

    3. chmod命令

    (1)chmod示例一——字母方式

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

    =表示赋予(设置)指定权限,要注意它会覆盖原权限,+表示在原有权限的基础上增加指定权限,-表示在原有权限的基础上去掉指定权限; r、w、x三种权限,既可以单独使用也可以组合使用

    chmod u+x host.conf

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

    chmod g-w,o=x host.conf

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

    (2)chmod示例二——数字方式

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

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

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

    chmod 764 host.conf

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

    属主拥有全部权限;

    属组拥有读写权限;

    其他用户拥有只读权限。

    find 命令

    find . -name “name”——查找当前目录下文件名包括含name的文件 find . -name “hellow.txt”——查找当前目录下文件名为 hellow.txt 的文件或文件夹 find . -name “hello*” -exec rm{} \ 查找当前目录下所有以hello开头的文件并将其显示出来

    Processed: 0.041, SQL: 9