外贸专业网站建设,昆山做网站的个人,机房托管,烟台南山集团网站建设课程回顾 操作系统 虚拟机安装
本章重点 Linux系统目录结构 常用命令 熟练区分Linux下各层目录的作用 熟练掌握Linux的常用命令#xff08;文件命令、时间命令等#xff09;
一、Linux系统目录结构
1.1 目录结构 /#xff1a; 根目录#xff0c;一般根目录下只存放…课程回顾 操作系统 虚拟机安装
本章重点 Linux系统目录结构 常用命令 熟练区分Linux下各层目录的作用 熟练掌握Linux的常用命令文件命令、时间命令等
一、Linux系统目录结构
1.1 目录结构 / 根目录一般根目录下只存放目录不要存放文件/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中
/binbin是Binary的缩写,这个目录存放着最经常使用的命令。
/boot这里存放的是启动Linux时使用的一些核心文件包括一些连接文件以及镜像文件。
/devdev是Device(设备)的缩写,该目录下存放的是Linux的外部设备在Linux中访问设备的方式和访问文件的方式是相同的。
/etc这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home用户的主目录在Linux中每个用户都有一个自己的目录一般该目录名是以用户的账号命名的。
/lib这个目录里存放着系统最基本的动态连接共享库其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。
/sbins就是SuperUser的意思这里存放的是系统管理员使用的系统管理程序。
/lostfound这个目录一般情况下是空的当系统非法关机后这里就存放了一些文件。
/medialinux系统会自动识别一些设备例如U盘、光驱等等当识别后会把识别的设备挂载到这个目录下。
/mnt系统提供该目录是为了让用户临时挂载别的文件系统的我们可以将光驱挂载在/mnt/上然后进入该目录就可以查看光驱里的内容了。
/opt这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc这个目录是一个虚拟的目录它是系统内存的映射我们可以通过直接访问这个目录来获取系统信息。
这个目录的内容不在硬盘上而是在内存里我们也可以直接修改里面的某些文件比如可以通过下面的命令来屏蔽主机的ping命令使别人无法ping你的机器echo1/proc/sys/net/ipv4/icmp_echo_ignore_all
/root该目录为系统管理员也称作超级权限者的用户主目录。
/selinux这个目录是Redhat/CentOS所特有的目录Selinux是一个安全机制类似于windows的防火墙但是这套机制比较复杂这个目录就是存放selinux相关的文件的。
/srv该目录存放一些服务启动之后需要提取的数据。
/sys这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。sysfs文件系统集成了下面3种文件系统的信息针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候对应的文件和目录也在内核对象子系统中被创建。
/tmp这个目录是用来存放一些临时文件的。
/usr非常重要的目录用户的很多应用程序和文件都放在这个目录下类似于windows下的programfiles。
/usr/bin系统用户使用的应用程序。
/usr/sbin超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src内核源代码默认的放置目录。
/var这个目录中存放着在不断扩充着的东西我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run是一个临时文件系统存储系统启动以来的信息。当系统重启时这个目录下的文件应该被删掉或清除。如果你的系统上有/var/run目录应该让它指向run。
1.2 说明
在Linux系统中有几个目录是比较重要的平时需要注意不要误删除或者随意更改内部文件。
/etc上边也提到了这个是系统中的配置文件如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin,/sbin,/usr/bin,/usr/sbin:这是系统预设的执行文件的放置目录比如ls就是在/bin/ls目录下的。
值得提出的是/bin,/usr/bin是给系统用户使用的指令除root外的通用户而/sbin,/usr/sbin则是给root使用的指令。
/var这是一个非常重要的目录系统上跑了很多程序那么每个程序都会有相应的日志产生而这些日志就被记录到这个目录下具体在/var/log目录下另外mail的预设放置也是在这里。
综上日常可以操作得目录使用/home/opt/tmp
自己的电脑windows
服务器Linux
二、常用命令
终端窗口
[rootlocalhost ~]#
[当前用户服务器地址 当前位置]$ 命令
2.1 命令
格式
命令 【-参数选项】【参数】
参数选项 -a下所有文件和目录 --all 下所有文件和目录
如ls -la /usr
分类
linux命令的分类
内部命令∶属于Shell解析器的一部分
例如:cd切换目录(change directory)
pwd显示当前工作目录(print working directory)
help帮助
外部命令:独立于Shell解析器之外的文件程序
例如:ls显示文件和目录列表(list)
mkdir创建目录(make directoriy)
cp复制文件或目录(copy)
格式
命令名字 命令参数 --全拼|-简写
2.2 cd切换目录
cd(change directory)
[rootLinux ~]# cd 目录 cd / 切换到根目录 cd .. 切换到上层目录 cd ~切换到家目录 cd -切换到上一次目录 cd bin切换到bin目录
2.3 文件常用命令
2.3.1 显示当前工作目录中的内容
要想知道当前的工作目录中有些什么文件或目录在Windows的“命令提示符”中要使用“dir”命令那么在Linux中就要使用“ls”命令
ls(list)
功能描述:显示文件目录
语法: ls 选项 【-ald】
-a 显示所有文件,包括隐藏文件 all
-l 详细信息显示
-d 查看目录属性 一般和l连用 可以查看详细信息
-h 以可读性较高的形式显示一般和l连用 ls -lh
-r 反序排列
-S 以文件大小排序
-t 以文件修改时间排序 [rootLinux ~]# ls
anaconda-ks.cfg Desktop install.log install.log.syslog
这样屏幕上就立刻显示当前目录下的所有文件及自目录。文件颜色 蓝色目录 浅蓝色链接 红色压缩包 白色|黑色一般的文件 绿色可执行文件 显示隐藏的文件
系统中一些文件和Windows中的系统文件一样这些文件一般是不显示出来的那么我们可以使用“-a”参数来显示隐藏的文件。如下所示
[rootLinux ~]# ls -a 看看这样显示的文件就比较多了。可以发现隐藏文件是以“.”开头的文件。这些文件一般都有特殊的作用如果显示出来有可能被用户不小心删除。
# 文件的权限、所有者、文件大小等信息详细列出来
[rootLinux ~]# ls -l 我们可以结合上面的两个参数来显示目录下的文件如下所示
[rootLinux ~]# ls -al 显示其他目录中的文件
默认显示当前路径下的文件。
如果要显示其他目录中的文件那么我们只要在“ls”后面加入所要显示的目录的路径。如下所示
[rootLinux ~]# ls /
bin dev home lostfound misc net proc sbin srv tftpboot usr
boot etc lib media mnt opt root selinux sys tmp var
这样显示的就是“/”目录下的文件。当然我们也可以加入一下参数如下所示
[rootLinux ~]# ls -l /bin mkdir
mkdir(make directory
功能描述:创建新目录
[rootLinux ~]# mkdir myfile
[rootLinux ~]# ll一次性创建多个目录mkdir 目录1 目录2 目录3 ….
-p 递归创建文件夹
创建多层文件夹的时候使用的是 mkdir -p 文件夹/文件夹1
当一次性创建多层不存在的目录的时候添加-p参数否则会报错
rmdir
删除目录
使用“rmdir”命令来删除一个目录
[rootLinux ~]# rmdir myfile
# 删除指定目录后若该目录的上层目录已变成空目录则将其一并删除
[rootLinux ~]# rmdir -p a/b/c
注意的是使用这个命令来删除一个目录的时候那么这个目录下必须是没有任何文件和文件夹的。
rm(remove)
功能描述删除文件或目录
-r 递归删除
-d 目录
-f force强制
[rootLinux ~]# rm -dr 目录
# -d:文件夹
# -r:递归删除
[rootLinux ~]# rm -dr a
cp(copy)
功能描述:复制文件或目录
语法: cp -R 源文件或目录
-R 复制目录
cp [被复制的文档路径] [文档被复制到的路径] 当使用cp命令进行文件夹复制操作的时候需要添加选项“-r”【-r表示递归复制】否则目录将被忽略
复制的时候文件可以重新命名 但是如果非必须 不建议 mv(move)
功能描述:移动文件 更名
语法: mv 源文件或目录 范例: mv file1 file
将当前目录下文件file1更名为file
mv file2 dir2
将文件file2 移动到目录dir2下
touch
功能描述:创建空文件
范例: touch newfile
newfile可以是一个文件名也可以是一个包含文件路径的文件名
使用touch来同时创建多个文件 touch 文件1 文件2
注意不能创建多层文件
[rootLinux two]# touch 111.txt
[rootLinux two]# touch 112.txt
[rootLinux two]# touch 113.txt
[rootLinux two]# ll pwdprint working directory
pwd命令显示当前所在的目录
[rootLinux ~]# pwd
/root
[rootLinux ~]# cd one
[rootLinux one]# pwd
/root/one
[rootLinux one]# cd ../two
[rootLinux two]# pwd
/root/two
locate
yum -y install mlocate
updatedb
默认不搜索/tmp下面的文件
语义描述: 搜索文件。
[rootLinux one]# locate install.log
/root/install.log
/root/install.log.syslog
cat
功能描述:显示文件内容
语法: cat [文件名]
[rootLinux ~]# cat install.log
cat还可以对文件进行合并
语法2
cat 待合并的文件路径1 待合并的文件路径2 …. 文件路径n 合并之后的文件路径
cat testyyl.txt test2.txt ./test3.txt
more
分页显示文件内容(只能向下分页)
cat命令只能看到文件的部分或者只能看比较小的文件more可以显示比较大的文件。 [rootLinux ~]# more install.log [rootLinux ~]# more /etc/issue
--More--(2%)注意最下面显示了一个提示表示只显示这个文件的2%按下空格键就翻下一页当内容显示完后就自动的退出还可以按下“Q”键也可以退出。。
less
more虽然可以显示比较大的文件但是也有一个缺点就是不能向上翻页看过的内容要重新看必须在重新运行命令。less就解决了more命令这个命令的不足
[rootLinux ~]# less install.loginstall.log
最下面显示的是这个文件的名称可以使用“PageUp”和“PageDown”可以进行上一页和下一页的翻页。如果要知道具体的控制键可以按下“H”键可以显示less命令的所有控制键如果想结束可以按“Q”键。
head
功能描述: 查看文件的前几行
语法: head -num [文件名]
-num 显示文件的前num行
默认10行 # 显示前10行
[rootLinux ~]# head install.log
[rootLinux ~]# head -20 install.log # 显示前20行
tail tail是显示文件的末尾几行默认10行 语法: tail -num [文件名] -num 显示文件的后num行 -f 动态显示文件内容
# 显示后10行
[rootLinux ~]# tail install.log
[rootLinux ~]# tail -20 install.log
2.4 时间设置 timedatectl命令对于RHEL / CentOS 7和基于Fedora 21的分布式系统来说是一个新工具它作为systemd系统和服务管理器的一部分代替旧的传统的用在基于Linux分布式系统的sysvinit守护进程的date命令。 timedatectl命令可以查询和更改系统时钟和设置可以使用此命令来设置或更改当前的日期时间和时区或实现与远程NTP服务器的自动系统时钟同步。 通过使用来自于终端使用timedatectl命令的NTP设置date、time、timezone和synchronize time来管理时间它有以下优点 1维护及时操作的系统任务因为在Linux中的大多数任务都是由时间来控制的。 2记录事件和系统上其它信息等的正确时间。
2.4.1 设置本地时区
显示系统的当前时间和日期
RTC time是硬件时钟的时间。
# timedatectl status 查看当前时区
[rootlocalhost ~]$ timedatectl
OR
[rootlocalhost ~]$ timedatectl | grep Time 查看所有可用的时区
[rootlocalhost ~]$ timedatectl list-timezones 要根据地理位置找到本地的时区
[rootlocalhost ~]$ timedatectl list-timezones | grep -o ‘’Asia/B.*”
[rootlocalhost ~]$ timedatectl list-timezones | grep -o “Europe/L.*”
[rootlocalhost ~]$ timedatectl list-timezones | grep -o “America/N.*” 设置本地时区
使用set-timezone开关
[rootlocalhost ~]$ timedatectl set-timezone Asia/Kolkata
中国上海的时区
[rootlocalhost ~]$ timedatectl set-timezone Asia/Shanghai 推荐使用和设置协调世界时即UTC。
[rootlocalhost ~]$ timedatectl set-timezone UTC 需要输入正确命名的时区否者在改变时区的时候可能会发生错误。由于 “Asia/Kalkata” 这个时区是不正确的因此导致了错误。 2.4.2 设置时间和日期
设置时间
使用set-time开关以及HHMMSS小时分秒的时间格式。
[rootlocalhost ~]$ timedatectl set-time 15:58:30 设置日期
使用set-time开关以及YYMMDD年月日的日期格式。
[rootlocalhost ~]$ timedatectl set-time 20151120 设置日期和时间
[rootlocalhost ~]$ timedatectl set-time 2015-11-20 16:10:40 2.4.3 硬件时钟
要设置硬件时钟以协调世界时UTC可以使用 set-local-rtc boolean-value选项如下所示
首先确定你的硬件时钟是否设置为本地时区
[rootlocalhost ~]$ timedatectl | grep local
将硬件时钟设置为本地时区
[rootlocalhost ~]$ timedatectl 硬件时钟设置为协调世界时UTC
[rootlocalhost ~]$ timedatectl set-local-rtc 0 2.4.4 同步时钟到远程NTP服务器
NTP即Network Time Protocol网络时间协议是一个互联网协议用于同步计算机之间的系统时钟。timedatectl实用程序可以自动同步你的Linux系统时钟到使用NTP的远程服务器。
注意必须在系统上安装NTP以实现与NTP服务器的自动时间同步。
要开始自动时间同步到远程NTP服务器在终端键入以下命令。
[rootlocalhost ~]$ timedatectl set-ntp true 要禁用NTP时间同步在终端键入以下命令。
[rootlocalhost ~]$ timedatectl set-ntp false