导
2020/3/10
Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
Linux以它的高效性和灵活性著称,Linux模块化的设计结构,使得它既能在价格昂贵的工作站上运行,也能够在廉价的PC机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。
自学站点推荐:
- https://www.icourse163.org/(慕课)
- https://cn.netacad.com/(思科)
- https://www.educoder.net/(在线实训)
- https://www.linuxprobe.com/(Linux培训,Linux就该这么学,资源多)
- https://www.fujieace.com/linux/man/china-man.html(命令查找)
开源协议
主要流行的开原协议有六种:GPL、BSD、MIT、MPL(Mozilla)、Apache和LGPL,需要记住的是开源不等于免费,开源也不等于没有约束
-
简单宽松的协议
如果你怕麻烦只想要一个简单协议,MIT协议相对宽松但抓住了要点,此协议允许别人以任何方式使用你的代码同时署名原作者,但原作者不承担代码使用后的风险,当然也没有技术支持的义务,jQuery和Rails就是MIT协议。 -
有专利的需求
如果你的作品中涉及到专利相关,Apache协议也是个相对宽松与MIT类似的协议,但它简单指明了作品归属者的著作权,Apache服务器,SVN还有NuGet等是使用的Apache协议。 -
代码分享与促进
如果你在乎作品的传播和别人的修改,希望别人也以相同的协议分享出来。GPL(V2或V3)是一种版本自由的协议(可以参照copy right来理解,后者是版本保留,那copyleft便是版权自由,或者无版权,但无版权不代表你可以不遵守软件中声明的协议)。此协议要求代码分发者或者以此代码为基础开发出来的衍生作品需要以同样的协议来发布。
参考资料:
- http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html
- https://www.zhihu.com/question/28292322/answer/222922925
- https://choosealicense.com/
三种软件模式
- 商业软件
- 由开发者出售拷贝并提供软件技术服务,用户只有使用权, 但不得进行非法拷贝、扩散和修改
- 共享软件
- 共享软件由开发者提供试用程序拷贝授权,用户在使用该程序拷贝一段时间之后,必须向开发者缴纳使用费,开发者则提供相应的升级和技术服务
- 自由软件
- 自由软件所指称的软件,其使用者有使用、复制、散布、研究、改写、再利用该软件的自由
- 自由软件的创始人:Richard M.Stallman,他是黑客历史上最伟大的黑客,被称为黑客中的圣者
什么是操作系统
操作系统(Operating Ststem,简称OS)传统上是负责对电脑硬件直接控制及管理的系统软件
- 操作系统的功能一般包括处理器管理、存储管理、文件管理、设备管理和作业管理等
- 当多个程序同时运行时,操作系统负责规划以及优化每个程序的处理时间
对计算机系统而言,操作系统是对所有系统资源进行管理的程序的集合;对用户而言,操作系统提供了对系统资源进行有效利用的简单抽象的方法
Linux系统
Linux是个类Unix的系统,同时他是一个自由软件,是免费的、源代码开放的,编制他的目的是简历不受任何商业化软件版权制约的、全世界都能自由使用的UNIX兼容产品,稳定可靠本课主要以centos为主
虽然常被称为Linux,但他们应该更准确的被称为GNU/Linux
特点
- 开放性的系统
- 多用户多任务的系统
- 具有出色的稳定性和速度性能
- 具有可靠的系统安全性
- 提供了丰富的网络功能
- 标准兼容性和可移植性
- 提供了良好的用户界面
组成
-
Linux内核
-
Linux Shell:shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口
-
LInux应用程序:包括文本编辑器、编程语言、window、办公套件、Internet工具、数据库等
-
Linux文件系统:文件系统是文件存放在磁盘等存储设备上的组织办法。通常是按照目录层次方式进行组织。系统以/为根目录
内核版本
主流Linux发行套件
主要分redhat红帽类和debian类,目前主流为红帽7
-
redhat(服务器)
redhat.com
免费开放下载安装,但不能自动更新以及后期问题技术解决支持
收费项目:
- 自动更新漏洞
- 后期问题技术解决支持
-
centos(服务器)
北美Linux爱好者们制作而成,与红帽几乎相等,支持自动更新,但无技术支持(已被红帽收购)
-
defora(个人)
界面友好,常用作进入软件redhat前的测试(红帽旗下)
-
Ubuntu
界面友好(debian类)
课后作业:站点推荐的查看与环境下载与搭建centos7
安装使用:virtualbox 或 vmware workstation
具体文件结构
/
:根目录,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。/bin
:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。/boot
:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。/cdrom
:这个目录在刚刚安装系统的时候是空的。可以将光驱文件系统挂在这个目录下。例如:mount /dev/cdrom /cdrom/dev
:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。/etc
:etc这个目录是linux系统中最重要的目录之一。在这个目录下存放了系统管理时要用到的各种配置文件和子目录。要用到的网络配置文件,文件系统,x系统配置文件,设备配置信息,设置用户信息等都在这个目录下。/home
:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。/lib
:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。/lost+found
:在ext2或ext3文件系统中,当系统意外崩溃或机器意外关机,而产生一些文件碎片放在这里。当系统启动的过程中fsck工具会检查这里,并修复已经损坏的文件系统。有时系统发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或移到文件到原来的位置上。/mnt
:这个目录一般是用于存放挂载储存设备的挂载目录的,比如有cdrom等目录。可以参看/etc/fstab的定义。/media
:有些linux的发行版使用这个目录来挂载那些usb接口的移动硬盘(包括U盘)、CD/DVD驱动器等等。/opt
:这里主要存放那些可选的程序。/proc
:可以在这个目录下获取系统信息。这些信息是在内存中,由系统自己产生的。/root
:Linux超级权限用户root的家目录。/sbin
:这个目录是用来存放系统管理员的系统管理程序。大多是涉及系统管理的命令的存放,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,这个目录和/usr/sbin; /usr/X11R6/sbin或/usr/local/sbin目录是相似的,凡是目录sbin中包含的都是root权限才能执行的。/selinux
:对SElinux的一些配置文件目录,SElinux可以让linux更加安全。/srv
: 服务启动后,所需访问的数据目录,举个例子来说,www服务启动读取的网页数据就可以放在/srv/www中/tmp
:临时文件目录,用来存放不同程序执行时产生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。/usr
:这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具/usr/local
:这里主要存放那些手动安装的软件,即不是通过“新立得”或apt-get安装的软件。它和/usr目录具有相类似的目录结构。让软件包管理器来管理/usr目录,而把自定义的脚本(scripts)放到/usr/local目录下面、。/usr/share
:系统共用的东西存放地,比如 /usr/share/fonts 是字体目录,/usr/share/doc和/usr/share/man帮助文件。/var
:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。
安装与详解
2020/3/12
- 虚拟机如果出现虚拟机被锁定,可以去虚拟机存储的目录中将.lck的文件删除
- 系统版本介绍
DVD
标准版(推荐用这个)4GEverything
完整版本10GLiveKDE
体验版1GMinnimal
最小安装包0.9GNetInstall
网络安装0.5G
- 我们可以在镜像站中选择下载,下面介绍的安装过程是用了网易的centOS的DVD标准版,http://mirrors.163.com/centos/7.7.1908/isos/x86_64/
安装过程
首先我们新建虚拟机,这里最好用自定义来安装
选择硬件兼容性这里越高越好
这里我们使用稍后安装操作系统
选择Linux,并选择对应的版本
这里选择安装的位置以及在VM中显示的名称
为虚拟机指定的处理器(CPU)数量
为其分配的内存
为其分配磁盘大小,为了后期的操作越大越好,接下来都是默认下一步即可
完成之后选择编辑虚拟机
设置添加挂载光盘镜像
点击CD/DVD(IDE)
这里推荐使用centOS DVD即标准版,你也可以使用Everything的版本,选择好之后点击完成并打开虚拟机
打开虚拟机之后会让你选择安装还是测试,这里选择第一个安装install CentOS即可
这里可能需要你按下回车键,然后等待一会
进入了安装界面进行配置,为了体验良好可以选择中文安装,这里选择中文在安装的时候是中文,安装完成之后也自动会是中文,点击继续
之后等待一会,这里的安装源就是我们的iso文件,右边的软件选择它默认是最小安装,如果选择了最小安装,安装之后是没有图像界面的,如果想安装带有GUI姐买你的话这里就需要点击软件选择
然后选择带GUI的服务器,点击完成即可
之后点击安装位置,这是具体分区,我们使用自动配置完成即可
然后点击KDUMP,将其取消,点击完成
最后配置网络设置,这里需要视具体情况配置,配置虚拟机的时候使用了NAT,所以直接配置自动获取就好,假如你使用了桥接的方式则需要根据局域网的配置进行手动获自动配置,完成之后你也可以更改下面的主机名,记得点击应用然后完成开始安装
安装过程中你需要配置一个root密码(记得设置得复杂点),因为在平时操作中我们都是用普通用户去登录所以建议再创建一个用户
配置好之后等待安装完成,安装好之后会让你选择重启计算机,点击重启
等待重启完成之后会让你同意开源协议,点进去同意即可,然后点击完成配置
此时已经配置完成了,点击登录你刚刚创建的用户登录或选择未列出使用root即可进入带有图形界面的centOS
在GUI的界面可以和字符界面进行互换
详解
图像界面在linux中也只是一个程序
如果是最小化安装则是纯命令行的模式,服务器的安全级别比较高的话也是纯命令行的模式
安装好图形界面可以自由切换命令行的图形界面
字符界面转图形界面:init 3
Linux工作界面
Linux的工作界面有两种:字符界面与图形界面
- 字符界面
- shell的概念、功能和种类
- 虚拟终端的作用
- [X Window的概念和作用](###X Window概念和作用)
- GNOME桌面图标的作用
- KDE桌面
字符界面
-
使用字符界面的好处
-
在字符操作方式下可以高效的完成所有的任务,尤其是系统管理任务
-
系统管理任务通常在远程进行,而远程登录后进入的是字符工作方式
-
由于使用字符界面不用启动图形工作环境,大大的节省了系统资源开销
-
-
如何进入字符界面
- 在图形环境下开启终端窗口进入字符界面的方式
- 在系统启动后直接进入字符工作方式
- 使用远程登录方式(Telnet或SSH)进入字符工作方式
- 字符界面登录与注销
- 虚拟控制台(Virtual Console)
- 系统默认提供了6个虚拟控制台。每个虚拟控制台可以独立的使用,互不影响
- 使用Alt+F1~Alt+F6进行多个虚拟控制台之间的切换
- 登录提示符
- 超级用户登录后的操作提示符是:
#
- 普通用户登录后的操作提示符是:
$
- 超级用户登录后的操作提示符是:
- 注销
logout
命令Ctrl+D
热键
- 虚拟控制台(Virtual Console)
-
注意:一般应该使用普通用户登录系统,不要使用root用户登录,当需要进行超级用户工作时可以使用su - 命令切换为超级用户身份
-
在Linux环境下使用SSH远程登录Linux
- ssh:Secure shell
- 用户在通过ssh连接到远程系统时在网络上传输的口令和数据都是经过加密的,比传统的telnet远程登录更加安全
- ssh的使用方法:
$ ssh -l osmond 192.168.1.100
$ ssh osmond@192.168.1.100
-
在Windows环境下使用putty远程登录Linux
- 在putty中支持telnet、ssh、rlogin等连接方式
-
获取帮组:
- 字符界面:
help
:获得bash的内部命令棒子man
:获得手册页帮助(推出man按q即可)$ man passwd
$ man 5 passwd
$ man -k selinux
info
:获得texinfo文档帮助(推出info按q即可)pinfo
:获得texinfo文档帮助- wh*命令
$ whatis ls
$ whereis ls
$ whichis ls
- 字符界面:
图形界面
在使用环境中图形界面虽然友好,但是非常耗费系统资源,而且图形界面存在的安全漏洞也更多
- 两种桌面集成环境
- Gnome集成环境
- 获得帮助:
tylp
:浏览帮助文档
- 获得帮助:
- KDE集成环境
- Gnome集成环境
shell
概念
shell是用户和Linux内核之间的接口程序,为用户提供使用操作系统的操作接口。他是一种基于传统字符界面的操作系统,与DOS有几分类似,在Linux系统中具有极其重要的地位
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。同Linux本身一样,Shell也有多种不同的版本。目前主要有下列版本的Shell: Bourne Shell:是贝尔实验室开发的。
BASH
:是GNU的Bourne Again Shell,是GNU操作系统上默认的shell。Korn Shell
:是对Bourne SHell的发展,在大部分内容上与Bourne Shell兼容。C Shell
:是SUN公司Shell的BSD版本。Z Shell
:The last shell you’ll ever need! Z是最后一个字母,也就是终极Shell。它集成了bash、ksh的重要特性,同时又增加了自己独有的特性。
功能
- 进行命令解释
- 解释型的程序设计语言
shell种类
- Bourne shell (sh)
- C shell (csh)
- Korn shell (ksh)
虚拟终端的作用
- 当在系统启动时直接进入字符工作方式后,系统提供了多个虚拟控制台。每个虚拟控制台可以独立使用,互不影响
- 虚拟控制台使得 Linux成为一个真正的多用户操作系统。在不同的控制台上,可以同时接受多个用户登录;也允许一个用户进行多次登录。
- 虚拟控制台之间的切换
alt+f1
~alt+f6
ctrl+alt+f1
~ctrl+alt+f6
(用户使用startx命令在字符界面下启动了图形环境时切换字符虚拟终端的方式,使用ctrl+alrt+f7切换到图形界面)
X Window概念和作用
一套Unix共通的图形界面标准,复合X Window协定的软件都可以在任何X Window上显示,执行与显示独立运作
人性化桌面环境:Gnome与KDE
GNOME桌面图标的作用
GNOME是GNU网络对象模型环境(GNU Network Object Model Environment)的缩写,他是GNU项目的一部分,是完全开放源代码的自由软件
在Red Hat Linux系统中,已经将GNOME作为默认的桌面管理器
KDE桌面
KDE桌面环境( K desktopnvi ronment)是使用图标、窗口、菜单和面板之类常用图形化对象的图形化桌面。KDE的外观、操作和 Windows非常相似,大大降低了 Linux用户的学习难度,同时在稳定性上KDE也非常出色
其他
关机
shutdown或shutdown -h now/+n(立即或n分钟后关闭系统)
halt
:关闭系统(其实就是调用shutdown -h)intit 0
重启
shutdown -r
inti 6
reboot
PV-VG-LV的设备名
含义 | 设备名 | |
---|---|---|
PV | 物理卷:磁盘或分区 | /dev/dsa |
VG | 卷组:一组磁盘 和/或 分区 | /dev/<VG name>(目录) |
LV | 逻辑卷:LVM分区 | /dev/<VF name>/<LV name> |
系统文件夹
位置 | 说明 |
---|---|
/bin | 存放所有用户可以使用的目录 |
/sbin | 存放只有系统管理员可以使用的目录 |
/boot | 用于存放于系统启动相关的文件 |
/dev | 设备文件存放位置 |
/etc | 配置文件存放位置 |
/home | 普通用户家目录 |
/lib | 用户存放系统的动态链接库 |
/mnt | 移动存储介质的默认挂载点 |
/root | root用户家目录。 |
/proc | 位于内存中的内核信息 |
/tmp | 用于存放各种临时文件 |
/var | 用于存放经常变化的文件 |
每一个用户都有自己的主目录(家目录),主目录与根目录不一样
文件路径
linux的路径采用/
开始,文件夹在创建中尽量避免使用
空格,因为空格在shell中是作为分隔符使用
- 到
rpm
的绝对路径是从/usr/lib/rpm
- 从usr到rpm的相对路径是:
./lib/rpmvcvcvvvc
绝对路径与相对路径
- 查看当前所在的路径的命令:
pwd
- 如果想切换到
/etc/
目录应使用:cd /etc - 回到上次所在目录:cd -
- 回到主目录:cd
- 切换到根目录:cd /
- 切换到上级目录:cd ..
- 若当前位于/etc/stsconfig/network-scripts/warpper目录下如何快速回到/etc/stsconfig目录下:cd ../..
Linux命令介绍
2020/03/17
虚拟机中linux系统导出ova文件放到一个地方
在云平台中当用户需要一个虚拟机的时候,就可以通过这种ova的方法快速给用户建立一个虚拟系统
图形界面与字符界面
图形界面非常消耗系统资源且安全漏洞较多
大小写区分
inux系统中命令区分大小写,windows中区分大小写,如果在windows中创建文件夹,大小写相同的文件夹将报错,在linux中复制a和A的文件夹到windows会报错!
shell
在shell中是作为分隔符使用,shell也能算是编程的一种
Linux常用命令
获取帮助
man
man [命令]
-h
[命令] -h / --help
help
help [命令]
info
info [命令]
百度/谷歌
init
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败
- init一共分为7个级别,这7个级别的所代表的含义如下
- 0:停机或者关机(千万不能将initdefault设置为0)
- 1:单用户模式,只root用户进行维护
- 2:多用户模式,不能使用NFS(Net File System)
- 3:完全多用户模式(标准的运行级别)
- 4:安全模式
- 5:图形化(即图形界面)
- 6:重启(千万不要把initdefault设置为6)
系统关机或重启或切换字符界面
通过快捷键切换图形与字符窗口
ctrl+alt+[f1~F6]
按这个快捷键可以快速的进入其他窗口进行测试
从GUI界面切换字符界面
在终端内输入:init 3
从字符界面切换到字符界面
在终端内输入:init 5
init 5和startx的区别
使用init 5 切换到运行级别5和使用startx登录图形界面看起来差不多,其实差别挺大的。最主要的差别就是语系,你可能发现你设定的环境是中文的,但是startx后系统桌面环境变成英文的了,并且输入法也调不出来了。
- startx是单纯的以执行命令者的身份启动X图形界面,环境变量是当前身份的。任意用户可以执行。
- init 5 切换到运行级别5,则是启动 runlevel 5所对应的服务,并运行图形登录管理器,由用户选择以何种身份登录。该操作是有重新启动系统服务的,需要重新输入用户名和密码登陆。只有root有权执行。
可以用chkconfig --list |more 查看在runlevel 5上启动的服务,和用ps -aux查看在startx启动时运行服务信息对比即知.startx只是在原运行级别基础上加载了图形,而init 5除了图形外还有
logout
注销推出当前用户窗口
exit
注销推出当前用户窗口,和ctrl+d
差不多,与windows的ctrl+w
类似
shutdown
shutdown会给系统计划一个时间关机,它可以被用于停止、关机、重启机器,也可以在后面添加参数进行指定关机的操作
shutdown
shutdown now ### 立刻关机
shutdown 13:20 ### 在指定小时/分钟关机,额外地,你也可以设置一个广播信息在系统关闭前发送给所有已登录的用户。
shutdown -p now ### 关闭机器
shutdown -H now ### 停止机器
shutdown -r09:35 ### 在 09:35am 重启机器
shutdown -h now ### 立刻关机(生产常用)
shutdown -h +1 ### 一分钟后关闭
如果下取消即将进行的关机,只需要在下面输入
shutdown -c
halt
halt是通知硬件来停止所有CPU功能,但是仍然保持通电。你可以用它使系统处于地层维护状态,但是注意有些情况会让他完全关闭系统
halt ### 停止机器
halt -p ### 关闭机器
halt --reboot ### 重启机器
poweroff
如同名字一般,poweroff会发送一个ACPI习惯好来通知系统关闭
poweroff ### 关闭机器
poweroff --halt ### 停止机器
poweroff --reboot ### 重启机器
reboot
这个也和名字一样,通知系统重启
reboot ### 重启机器
reboot --halt ### 停止机器
rebopt -p ### 关闭机器
目录管理与文件管理
Linux与windows不同,linux是从/
根目录开始的,windows是从盘符开始,在Linux中的绝对路径与相对路径的写法是如何呢?下面先吧目录结构打出来
|-- / # 根目录
| |--root # 文件夹
| | |--a # 文件夹
| | | |--b # 文件夹
| | | |--D # 文件夹
| | | | |--C # 文本文件
绝对路径
假设当前文件位置为/root/a/d
要切换到/root/a/b
中,切换路径时使用的绝对路径的命令为:cd /root/a/b
相对路径
假设当前文件位置为/root/a/b
要切换到/root
中,切换路径时使用的相对路径的命令为:cd ../../
ls
-
简介:列出目录内容,与ls, dir, vdir类似
-
命令:ls [-选项] [文件名...]
记得后面的参数要添加空格命令 解释 ls 直接使用ls命令出来的结果是列出当前目录下的文件与文件夹,其中蓝色的是目录,黑色的是文件 ls -a 是显示所有文件及目录,包括隐藏文件(隐藏文件一般以 “.“
点号开头)ls -d 是将目录名像其他文件一样列出,而不是列出他们的内容 ls -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出 ls -A -A同-a,但不列出“.”(当前目录)及“。。”(父目录)
# 显示a文件夹内的内容
[root@centos /]# ls -l a
总用量 4
-r-xr--rw-. 1 bit bit 0 4月 1 21:57 a.txt
drwxr-xr-x. 2 root root 19 4月 1 18:16 b
-rw-r--r--. 1 root root 204 4月 1 21:46 b.txt
drwxr-xr-x. 2 root root 19 4月 1 18:16 c
# 显示a文件夹
[root@centos /]# ls -ld a
drwxrwsrwx. 4 root root 50 4月 1 21:48 a
cd
- 切换当前路径
- 命令:
cd [dirName]
cd ~
跳转到自己的home目录cd ../..
跳转目前目录的上两层
pwd
- 显示目前的目录
mkdir
-
新加一个文件夹
-
mkdir [-p] 文件夹名
在Linux中是区分大小写的所以文件名使用A和a都可以,但是在windows下是不行的 -
mkdir -p
确保目录名称存在,不存在就建一个mkdir -p a/aa/aaa/aaaa
使用这个方式可以一次新建多个文件夹目录
rmdir
- 删除一个空的目录,若文件夹非空则无法删除
- rmdir [-p] 文件名
rmdir -p
当子目录被删除后使它也成为空目录的话,则一并删除- 加入在文件夹B里面有个文件C,如果命令为
rmdir -p B/C
则此时B和C都会被删除
- 加入在文件夹B里面有个文件C,如果命令为
cp
- 复制文件或文件夹
cp [参数] 源文件 目的地址
或
多个文件cp [参数] 源文件... 目的地址
- copy复制文件,从哪到哪,建议使用tab键自动补齐
- 假如由文件夹b与d,文件夹b里面有一个文件c,此时在b里面使用
cp c ../d
则可以复制文件到d里
- 假如由文件夹b与d,文件夹b里面有一个文件c,此时在b里面使用
cp /etc/*.conf /home/a
一键复制目录下多个后缀的文件到指定目录/home/a
cp /etc/a*.conf ../../a
将以a开头的conf文件复制到上两层的a文件夹中
rm
-
删除文件或目录
-
rm [参数] 文件名|文件夹
参数 | 解释 |
---|---|
-i | 删除前逐一询问确认 |
-f | 即使原档案属性设为唯读,亦直接删除,无需逐一确定 |
-r | 将目录及以下之档案亦逐一删除 |
- 删除文件夹
mv
- 移动(改名)文件
- 命令:mv [S源文件] [替换的名字 | D目的文件夹]
- 改名:将文件d改为dddd
mv d dddd
- 移动:将文件d移动到上一层的文件夹a里
mv d ../a
cat
-
连接文件并在标准输出上输出,cat可以创建或者预览文件
-
命令:cat [option] [文件名]
-
[option]
命令 解释 -b 对非空输出行编号 -E 在每行结束处显示“$” -n 输出所有行的编号 -s 不输出多行空行 -
如果当前目录中没有所输入的这个文件则会自动创建一个
-
cat > filename
将下面内容输出到filename这个文件,跳到下一行再按ctrl+c可退出 -
cat filename1 filename2 > filename3
将filename1和filename2的内容输出到filename3中 -
cat filename1 >> filename2
将file1的文件内容附加
到file2的文件后面,而file2的内容孩子 -
-E 在每行的结束处输出一个”$”
-
-n 输出所有行的编号
重定向>与>>
>
我们将文件ab打印到终端上,如何使用cat >
命令进行覆写,在后面写完之后按ctrl+c
就可以看到后面输出了之前我们输入的内容
>>
接着上面的内容我们将ab这个文件的后面追加一些文字,追加的内容是从最后的下一行开始添加
tac
从最后一行开始现实,可以看到tac是cat的倒写
touch
- touch可以创建一个空文件,也可以更改文件的时间
- 命令:touch [文件名] -[参数]
- -t [[ CC] YY] MMDDhhmm[ .ss]
- touch wenjianjia
- touch wenjianjia -t 03171637
更改时间为三月17日16:37
nl
显示的时候,顺便输出行号
more
一页一页的显示文件内容,但是不能往前翻
less
与more类似,但是比more更好的是它可以往前翻页
- 输入了less之后可以用滚轮滑动查看,按q可推出
head
只看开头几行
tail
只看返回结尾的几行
- tail -num filename
tail-1 filename 则显示filename的最后一行,-2则显示左后两行
grep
- 打印匹配给定模式的行
- 命令:cat [文件名] | grep [正则表达式]
小技巧
在复制移动重命名都可以使用绝对路径和相对路径
一次新建多个文件夹mkdir -p a/aa/aaa/aaaa
一次复制目录下多个后缀文件cp /etc/*.conf /home/a
你也可以复制目录下以a开头的.conf文件:cp /etc/a*.conf /home/a
重命名 mv anaconda- ff.txt aa.txt
重定向,不将其输出至屏幕,而是输出到指定的文件内
例如将ls -l
的输出结果