目录
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命令
前篇:
2.Linux的应用领域
3.Linux的组成
Linux内核:内核是系统的核心,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
文件系统:文件存放在磁盘等存储设备上的组织方法。Linux能支持多种文件系统,如ext4、FAT、VFAT、ISO9660、NFS、SMB等。
shell:shell是系统的用户名界面,提供了用户与内核进行交互操作的一种接口。
应用程序:包括文本编译器、编程语言、XWindow、办公套件、Internet工具、数据库等。
Linux的操作界面常称为shell
Shell是操作系统提供给用户使用的界面(图形、字符),它提供了用户与内核进行交互操作的一种接 口。当用户发出指令(命令或鼠标操作),先将这些指令发送给Shell,由Shell将用户的指令翻译后传送给内 核,再由内核来控制硬件的工作。然后内核将硬件的工作情况发送给Shell,并由Shell返回硬件的工作信息 和情况。
Shell的分类:
图形界面的Shell :KDE、GNOME
字符界面的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:用户 (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
echo命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“echo [字符串] [$变量]”。输出字符串的时候最好带一个双引号
第一行中将2赋值给date变量
printf命令用于在终端设备上输出字符串或变量提取后的值,语法格式为:“printf [字符串] [$变量]”。输出字符串的时候最好带一个双引号
printf命令和echo命令的区别,用printf命令输出后不换行,而echo会自动换行。
(echo -n [字符串] [$变量]==printf [字符串] [$变量] 叫-n后echo输出后不换行)
date命令是用于显示或设置系统的时间与日期,语法格式:“date [+指定的格式]”
用户只需在强大的date命令后输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这 样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。例如,把打包后的文 件自动按照“年-月-日”的格式打包成“2020-9-1.tar.gz”,用户只需要看一眼文件名称就能大概了 解到每个文件的备份时间了。date命令中常见的参数格式及作用如表所示。
按照默认格式查看当前系统时间的date命令如下所示:
按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:
将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:
timedatectl命令用于设置系统的时间,英文全称为:“time date control”,语法格式为:“ timedatectl [参数]”。
参数 | 作用 |
status | 显示状态信息 |
list-timezones | 列出已知时区 |
set-time | 设置系统时间 |
set-timezone | 设置生效时间 |
查看系统时间与时区:
如果您查到的时区不是上海(Asia/Shanghai),可以手动进行设置:
如果时间还是不正确,我们也可以手动修改:
如果只是想修改时间也是可以的:
reboot命令用于重启系统,输入后回车执行即可。 由于重启计算机这种操作会涉及硬件资源的管理权限,因此最好使用root管理员来重启,普通用户可能 会被拒绝,;不要轻易尝试
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命令
参数 | 作用 |
-b | 后台下载 |
-P | 下载到指定目录 |
-t | 最大尝试次数 |
-c | 断点续传 |
-p | 下载页面中的 |
-r | 递归下载 |
命令名 [选项] [参数]
其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括
起来的部分表明该项是可省略的,如直接在提示符后面输入命令date,显示当前的
日期和时间。
- 命令名——决定了该命令“做什么”
- 选项——决定了该命令“怎么做”
- 参数——决定了该命令“对谁做”
- Linux的命令、选项、参数均区分大小写,大多数情况下是小写。
- 按【Ctrl+C】键可中断正在执行的命令。
1.输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全。
2.补全文件名和目录名(当前目录下)
[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时,提示符为:# ,普通用户则为:$
Linux中对应的命令的类型分别为内部命令和外部命令,外部命令对应的是path环境变量下可以找到的与命令名称一致的文件名称,其中每一个外部命令对应的是同一个可执行的程序。内部命令是外部命令中含有的命令的,比如bash中存在内部的命令cd,内部命令的对应的信息展示固定。
#help可以列出系统所以的内部命令
1.用法1:help 内部命令
2.用法2:命令 --help
即命令的“--help”选项,适合于大多数外部命令
下面是对于命令的语法的一些符号的说明:
[] :表示的是可选
...: 表示的可以存在多个参数
|表示是可选的
<>:必填
{}:表示作为一个整体存在的
示例如下:ls [OPTION]... [FILE]... 表明ls后面可以加上多个可选的选项以及多个f可选的文件参 数。
注意:help是命令,--help是选项。
atime : 访问时间 acsess time
mtime: 修改时间 modification time
ctime : 创建时间 create time
万物皆文件
整个系统只有一个位于根分区的一个根目录(树根)、一棵树
比较重要的:/dev、/etc、/mnt/media、/opt、/proc、/sbin
绝对路径:是指以根目录“/”为起点的表示系统中某个文件(或目录)的位置的方法
相对路径:是以当前目录为起点的,表示系统中某个文件或目录在目录结构中的位置的方法
普通文件:用于存放数据、程序等信息的文件
目录文件:是由文件系统中一个目录所包含的目录项组成的文件
链接文件:又称符号链接文件,用于不同目录下的文件共享。实际上它指向另一个文件
设备文件:用于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个字符;
不能使用/当文件名
严格区分大小写
# cd /usr/local/lib //改变目录到/usr/local/lib目录下
# cd .. //进入当前目录的父目录
# cd ../etc //进入当前目录的父目录下的etc子目录
# cd ~ //进入root用户登录时的工作目录(家目录)
# cd 桌面 //进入当前目录下的“桌面”子目录
# cd //进入当前用户的家目录
命令格式:ls [选项] 文件名或目录
常用选项:
选项 | 功能 |
-a | 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件 |
-A | 与-a选项作用类似,但是不显示表示当前目录的“.”和表示父目录的“..” |
-c | 按文件的修改时间排序后,予以显示 |
-d | 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息 |
-h | 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后哦将显示为K、M等单位,此选项需要和-l选项结合使用才能体现出结果。 |
-l | 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式 |
-R | 以递归的方法显示指定目录及其子目录中的所有内容。 |
命令格式: mkdir [-p] [/路径/]目录名
-p:可快速创建出目录结构中指定的每一个目录,对于已存在的目录不会覆盖
功能:查看某一个目录中的各级子目录所占用的磁盘空间数
命令格式:du [选项] [目录名]。
选项:
选项 | 功能 |
-a | 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录 |
-s | 只统计每一个参数所占用空间总的大小,而不是统计每一个子目录、文件的大小 |
-h | 以K、M、G为单位显示磁盘使用情况,以提高信息的可读性。 |
格式:touch [选项] 文件或目录名列表
功能:
若指定的文件或目录已存在,则将文件或目录的日期和时间修改为当前系统的日期和时间。
若指定的文件不存在,则以指定的文件名创建空文件
选项:
选项 | 功能 |
-d yyyymmdd | 把文件名的存取或修改时间改为yyyy年mm月dd日。 |
-a | 把文件的存取时间改为当前时间 |
-m | 把文件的修改时间改为当前时间。 |
stat命令
stat时查看文件的详细信息命令,而且可以看到文件的这三个时间,基本信息如下:
-- 命令名称:stat。
-- 英文原意:display file or file system status
--所在路径:/usr/bin/stat。
-- 执行权限:所在用户。
功能描述:显示文件或文件系统的详细信息。
功能:目录或文件的复制
命令: cp [选项] 源文件 目标文件
选项:
选项 | 功能 |
-a | 通常在拷贝目录时使用。它保留链接,文件属性,并递归地拷贝目录 |
-d | 拷贝时保留连接 |
-f | 在覆盖已经存在的目标文件时不提示 |
-i | 再覆盖文件之前将给出提示要求用户确认。回答y时目标文件会被覆盖,是交互式拷贝。 (默认选项) |
-p | 除复制源文件的内容外,还将其修改时间和访问权限也复制到新文件中 |
-r | 若给出的文件时以目录文件,此时cp将递归复制该目录下的所有子目录和文件。此时目标文件必须为一个目录名 |
-l | 不作拷贝,只是连接文件 |
mv命令用于剪切或重命名文件,英文全称为:“move”。
语法格式为:“mv [参数] 源文件名称 目标文件名称”
剪切操作不同于复制操作,因为它会把源文件删除掉,只保留剪切后的文件。如果在同一个目录中将某 个文件剪切后还粘贴到当前目录下,其实本质就是对文件进行了重命名操作:
[root@kongd ~]# mv x.log linux.log
[root@kongd ~]# ls
install.log linux.log