Linux的访问命令行(一)

目录

1.访问命令行

查看shell的类型

命令提示符:[root@rhcsa~]#

设置命令提示符

通过网络登录

常用的简单命令

       1. echo命令

         2.printf命令

         3.date命令

         3.timedatectl命令

         4.reboot命令

        5.poweroff命令

 使用Bash执行命令

        1.Shell命令的一般格式如下:

   两种补全:

        3.bash shell提示符

命令帮助

        1.查看命令的类型:type

        2.帮助命令:

 Linux系统的目录结构

1.绝对路径与相对路径

2.Linux的文件大致可以分为:

 对目录和文件的操作命令:

1.查看当前的工作目录:pwd命令

 2.改变工作目录:cd命令

3.列表(list)显示目录内容--ls命令

4.创建目录:mkdir命令

5.统计目录及文件的空间占用情况--du命令

文件操作命令

        1.新建空文件或已有文件或或目录的的修改日期--touch命令

  2.复制(copy)文件或目录--cp命令

3.移动(mv)文件或目录--mv命令


前篇:

  • 源代码开放
  • 真正的多用户多任务
  • 完全兼容POSIX标准
  • 强大的可移植性
  • 丰富的网络功能
  • 良好的用户界面
  • 可靠的系统安全
  • 高度的稳定性

        2.Linux的应用领域

  • 服务器领域
  • 桌面应用领域
  • 嵌入式系统
  • 集群、虚拟化、云计算、大数据平台基石

        3.Linux的组成

Linux的访问命令行(一)_第1张图片

        Linux内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。

        文件系统:文件存放在磁盘等存储设备上的组织方法。Linux能支持多种文件系统,如ext4、FAT、VFAT、ISO9660、NFS、SMB等。

        shell:shell是系统的用户名界面,提供了用户与内核进行交互操作的一种接口。

        应用程序:包括文本编译器、编程语言、XWindow、办公套件、Internet工具、数据库等。

1.访问命令行

        Linux的操作界面常称为shell

        Shell是操作系统提供给用户使用的界面(图形、字符),它提供了用户与内核进行交互操作的一种接 口。当用户发出指令(命令或鼠标操作),先将这些指令发送给Shell,由Shell将用户的指令翻译后传送给内 核,再由内核来控制硬件的工作。然后内核将硬件的工作情况发送给Shell,并由Shell返回硬件的工作信息 和情况。

Shell的分类:

图形界面的Shell :KDE、GNOME

字符界面的Shell(命令行Shell)

查看shell的类型

  方法1:cat /etc/shells

[root@localhost ~]# cat /etc/shells

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

方法2:chsh -l [root@localhost ~]# chsh -l

/bin/sh

/bin/bash

/usr/bin/sh

/usr/bin/bash

[root@localhost ~]#     

查看当前默认的shell4

[root@localhost ~]# echo $SHELL

/bin/bash

shell提示符:#与$

        对于普通的用户,Base shell默认的提示符是美元$;对于超级用户(root用户),Bash shell默认的提示符是#

        普通用户登录:[当前登录用户@主机名 当前工作目录 ] $

        root用户登录:[root@主机名 当前工作目录 ] #

命令提示符:[root@rhcsa~]#

[]:是固定的结构

@:固定的结构

root:用户 (user)

user@hostname

~:每一个用户登录之后它都会有一个其实的目录  家目录     

命令

pwd:全称是,print work directory  

          root用户的家目录:/root

        普通用户的家目录:/home/用户名

su -:从普通用户切到root用户(需要输入密码)

        

        su和su - 的区别:使用su -会将用户的环境(家目录,shell)一起切换过去。

su 普通用户:从root用户切到普通用户(不需要密码)

      

Ctrl+c:终之命令

设置命令提示符

echo : 查看变量的内容

$PS1:        [root@rhich01 ~]# echo $PS1
                  [\u@\h \W]\$   就是      user@hostname work

$PS2:        [root@rhich01 ~]# echo $PS2
                   >
 

通过网络登录

ssh remoteuser@remotehost

常用的简单命令

        *注意:Tap是补全键

        --help:帮助命令

                        命令 --help 查看命令的其他操作        eg:pwd --help(注意--前有空格)

        man : 帮助命令

                      man 命令   查看命令的其他操作          eg:man pwd 

       1. echo命令

                echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“echo [字符串] [$变量]”。输出字符串的时候最好带一个双引号

Linux的访问命令行(一)_第2张图片

        第一行中将2赋值给date变量

         2.printf命令

                printf命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“printf [字符串] [$变量]”。输出字符串的时候最好带一个双引号

        printf命令和echo命令的区别,用printf命令输出后不换行,而echo会自动换行。

       (echo -n [字符串] [$变量]==printf [字符串] [$变量]                   叫-n后echo输出后不换行

        Linux的访问命令行(一)_第3张图片

         3.date命令

        date命令是用于显示或设置系统的时间与日期,语法格式:“date [+指定的格式]”

        用户只需在强大的date命令后输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这 样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文 件自动按照“年-月-日”的格式打包成“2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了 解到每个文件的备份时间了。date命令中常见的参数格式及作用如表所示。

Linux的访问命令行(一)_第4张图片

         按照默认格式查看当前系统时间的date命令如下所示:

        Linux的访问命令行(一)_第5张图片

         按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:                  

         将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:

          Linux的访问命令行(一)_第6张图片

         3.timedatectl命令

        timedatectl命令用于设置系统的时间,英文全称为:“time date control”,语法格式为:“ timedatectl [参数]”。

timedatectl
参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时间

         查看系统时间与时区:

        Linux的访问命令行(一)_第7张图片

         如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:

Linux的访问命令行(一)_第8张图片

         如果时间还是不正确,我们也可以手动修改:

Linux的访问命令行(一)_第9张图片

         如果只是想修改时间也是可以的:

Linux的访问命令行(一)_第10张图片

         4.reboot命令

        reboot命令用于重启系统,输入后回车执行即可。 由于重启计算机这种操作会涉及硬件资源的管理权限,因此最好使用root管理员来重启,普通用户可能 会被拒绝,;不要轻易尝试

        5.poweroff命令

        poweroff命令用于关闭系统,输入后回车执行即可。 与上面相同,该命令也会涉及到硬件资源的管理权限,因此最好还是用root管理员来关闭电脑,不要轻易尝试

        关机重启的命令还有:

                showtdown               

                                -H, --halt
                                           Halt the machine.

                                -P, --poweroff
                                           Power-off the machine (the default).
                                -r, --reboot
                                           Reboot the machine.

                halt

        reboot、halt、poweroff 都不是安全的关机/重启指令,原因是这三个命令在关闭系统时是删除所有的进程而不是平稳的终止它们

        6.wget命令

        

wget命令中的参数以及作用
参数 作用
-b 后台下载
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面中的
-r 递归下载

    普通下载(没有用参数):Linux的访问命令行(一)_第11张图片

         下载的位置:
Linux的访问命令行(一)_第12张图片

 使用Bash执行命令

        1.Shell命令的一般格式如下:

                命令名 [选项] [参数]

                其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括

           起来的部分表明该项是可省略的,如直接在提示符后面输入命令date,显示当前的

           日期和时间。

  • 命令名——决定了该命令“做什么”
  • 选项——决定了该命令“怎么做”
  • 参数——决定了该命令“对谁做”
  • Linux的命令、选项、参数均区分大小写,大多数情况下是小写。
  • 按【Ctrl+C】键可中断正在执行的命令。

   两种补全:

                1.输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全。

                2.补全文件名和目录名(当前目录下)

        3.bash shell提示符

[root@localhost ~]# echo $PS1

[\u@\h \W]\$

[root@localhost ~]# -->root用户提示符

[test@localhostr ~]$ -->普通用户提示符

PS1常用的参数含义如下:

         \d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"

         \H :#完整的主机名称

         \h :#仅取主机的第一个名字

         \t :#显示时间为24小时格式,如:HH:MM:SS

        \T :#显示时间为12小时格式

         \A :#显示时间为24小时格式:HH:MM

         \u :#当前用户的账号名称

         \v :#BASH的版本信息

         \w :#完整的工作目录名称

        \W :#利用basename取得工作目录名称,所以只会列出最后一个目录

        \# :#下达的第几个命令

         \$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

         

命令帮助

        1.查看命令的类型:type

        Linux中对应的命令的类型分别为内部命令和外部命令,外部命令对应的是path环境变量下可以找到的与命令名称一致的文件名称,其中每一个外部命令对应的是同一个可执行的程序。内部命令是外部命令中含有的命令的,比如bash中存在内部的命令cd,内部命令的对应的信息展示固定。

        #help可以列出系统所以的内部命令

        2.帮助命令:

                1.用法1:help 内部命令

                 2.用法2:命令 --help

                        即命令的“--help”选项适合于大多数外部命令

 下面是对于命令的语法的一些符号的说明:

[] :表示的是可选

...: 表示的可以存在多个参数

|表示是可选的

<>:必填

{}:表示作为一个整体存在的

示例如下:ls [OPTION]... [FILE]... 表明ls后面可以加上多个可选的选项以及多个f可选的文件参 数。

        注意:help是命令,--help是选项。 

        atime : 访问时间 acsess time

        mtime: 修改时间 modification time

        ctime : 创建时间 create time

        Linux的访问命令行(一)_第13张图片

 Linux的访问命令行(一)_第14张图片

 Linux系统的目录结构

        万物皆文件

        整个系统只有一个位于根分区的一个根目录(树根)、一棵树

Linux的访问命令行(一)_第15张图片

Linux的访问命令行(一)_第16张图片

         比较重要的:/dev、/etc、/mnt/media、/opt、/proc、/sbin

1.绝对路径与相对路径

        绝对路径:是指以根目录“/”为起点的表示系统中某个文件(或目录)的位置的方法

        相对路径:是以当前目录为起点的,表示系统中某个文件或目录在目录结构中的位置的方法

2.Linux的文件大致可以分为:

        普通文件:用于存放数据、程序等信息的文件

         目录文件:是由文件系统中一个目录所包含的目录项组成的文件

        链接文件:又称符号链接文件,用于不同目录下的文件共享。实际上它指向另一个文件

        设备文件:用于I/O设备提供连接的一种文件,分为:

                                块设备文件:表示磁盘、光盘等。

                                字符设备文件:联想这按照字符进行参做的终端、键盘等设备。

        管道文件:主要用于在进程间传递数据。

        套接字文件:套接字文件同很长用于网络数据连接。

                注意:Linux没有隐藏属性,文件或目录要实现隐藏,在命名时只要开头以“.”开头即可。

                          对于隐藏文件或目录,必须使用带“-a”参数的ls命令才可以查到。

 查看文件系统类型;

# ls -l /dev/tty1

crw--w---- 1 root tty 4, 1 12月 26 09:20 /dev/tty1

# ls -l /dev/sda

brw-rw---- 1 root disk 8, 0 12月 26 09:20 /dev/sda

# ls -l anaconda-ks.cfg

-rw-------. 1 root root 1486 11月 27 10:26 anaconda-ks.cfg

# ls -l /bin/sh

lrwxrwxrwx. 1 root root 4 11月 27 10:52 /bin/sh -> bash

# ls -ld /tmp/

drwxrwxrwt. 12 root root 4096 12月 26 12:21 /tmp/

# ls -l /run/dmeventd-client

prw------- 1 root root 0 12月 26 09:20 /run/dmeventd-client

# ls -l /dev/log

srw-rw-rw- 1 root root 0 12月 26 09:20 /dev/log

file的使用:

# file anaconda-ks.cfg

anaconda-ks.cfg: ASCII text

# file /dev/sda

/dev/sda: block special

# file /dev/tty1

/dev/tty1: character special

# file /tmp

/tmp: sticky directory

        第一列的第一个字符代表的是文件类型

         普通文件:-

        目录文件:d

        链接文件:l

        设备文件:

                块设备:b

                字符设备:c

        管道文件:p

        套接字文件:s

        ls -l:只展示上边提到的这几类

        flie:展示的是文件的具体类型--》主要针对普通文件

 对目录和文件的操作命令:

        命名规则:

                长度不能超过255个字符;

                不能使用/当文件名

                严格区分大小写

1.查看当前的工作目录:pwd命令

 2.改变工作目录:cd命令

# cd /usr/local/lib //改变目录到/usr/local/lib目录下

# cd ..         //进入当前目录的父目录

# cd ../etc         //进入当前目录的父目录下的etc子目录

# cd ~         //进入root用户登录时的工作目录(家目录)

# cd 桌面         //进入当前目录下的“桌面”子目录

# cd         //进入当前用户的家目录

3.列表(list)显示目录内容--ls命令

        命令格式:ls [选项] 文件名或目录

常用选项:

ls 常用的选项
选项 功能
-a 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件
-A

与-a选项作用类似,但是不显示表示当前目录的“.”和表示父目录的“..”

-c 按文件的修改时间排序后,予以显示
-d 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息
-h 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后哦将显示为K、M等单位,此选项需要和-l选项结合使用才能体现出结果。
-l 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式
-R 以递归的方法显示指定目录及其子目录中的所有内容。

4.创建目录:mkdir命令

        命令格式 mkdir [-p] [/路径/]目录名

        -p:可快速创建出目录结构中指定的每一个目录,对于已存在的目录不会覆盖

5.统计目录及文件的空间占用情况--du命令

        功能查看某一个目录中的各级子目录所占用的磁盘空间数

        命令格式du [选项] [目录名]。

        选项:     

选项 功能
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录
-s 只统计每一个参数所占用空间总的大小,而不是统计每一个子目录、文件的大小
-h

以K、M、G为单位显示磁盘使用情况,以提高信息的可读性。

文件操作命令

        1.新建空文件或已有文件或或目录的的修改日期--touch命令

        格式:touch [选项] 文件或目录名列表

        功能:

        若指定的文件或目录已存在,则将文件或目录的日期和时间修改为当前系统的日期和时间。

        若指定的文件不存在,则以指定的文件名创建空文件

        选项:

        

选项 功能
-d yyyymmdd 把文件名的存取或修改时间改为yyyy年mm月dd日。
-a 把文件的存取时间改为当前时间
-m 把文件的修改时间改为当前时间。

         stat命令

        stat时查看文件的详细信息命令,而且可以看到文件的这三个时间,基本信息如下:

        -- 命令名称:stat。

        -- 英文原意:display file or file system status

        --所在路径:/usr/bin/stat。

        -- 执行权限:所在用户。

        功能描述:显示文件或文件系统的详细信息。

Linux的访问命令行(一)_第17张图片

  2.复制(copy)文件或目录--cp命令

        功能:目录或文件的复制

        命令: cp [选项] 源文件 目标文件

        选项:

选项 功能
-a 通常在拷贝目录时使用。它保留链接,文件属性,并递归地拷贝目录
-d 拷贝时保留连接
-f

在覆盖已经存在的目标文件时不提示

-i

再覆盖文件之前将给出提示要求用户确认。回答y时目标文件会被覆盖,是交互式拷贝。

(默认选项)

-p 除复制源文件的内容外,还将其修改时间和访问权限也复制到新文件中
-r 若给出的文件时以目录文件,此时cp将递归复制该目录下的所有子目录和文件。此时目标文件必须为一个目录名
-l 不作拷贝,只是连接文件

3.移动(mv)文件或目录--mv命令

mv命令用于剪切或重命名文件,英文全称为:“move”。

        语法格式为:“mv [参数] 源文件名称 目标文件名称”

        剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某 个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作:

[root@kongd ~]# mv x.log linux.log

[root@kongd ~]# ls

install.log linux.log

 

你可能感兴趣的:(linux,系统安全,运维)