Linux
-
Linux的介绍:
- Linux概述:Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。(百度百科),诞生于1991 年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成。
- Linux的版本:Linux的版本分两种:内核版本和发行版本,内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ;发行版常见的有:Ubuntu,centos,Fedora, Debian ,RedhatEnterpriseLinux ,SUSE OpenSUSE,Mindriva, Gentoo, Arch , Slackware等等。
-
Linux的目录结构:(初学Linux的时候首先的是需要弄清楚Linux的目录结构)
- 首先是根目录:一般的情况下根目录中只存放的是目录 不要存放文件。
- bin目录:(binaries )存放的是可执行文件:如常用的命令:ls tar mv等。
- sbin目录:(super user binaries)存放的同样是可执行的二进制文件,但是只有root用户才能够访问。
- etc目录:(etcetera)存放的是系统的配置文件,不建议在此目录下存放可执行文件。
- usr目录:(unix shared resources)存放的是系统的共享资源或者是应用程序存放目录,/usr/bin存放应用程序,/usr/share存放共享数据,/usr/lib存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local:存放软件升级包。
- home:存放用户文件的根目录,当新增用户账号时,用户的家目录就会存放在此目录下。
- root:系统管理员root的家目录。
- dev:(devices)用于存放设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱mount /dev/cdrom /mnt。
- lib:(library)系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
- mnt:(mount)系统管理员安装临时文件系统的安装点,光盘默认的挂载点,但是也能够选择任意的位置来进行挂载。
- boot:用于存放系统引导时使用的各种文件,简单的说就是放置的是Linux启动时所需要的文件。
- tmp:(temporary)用于存放的是各种的临时文件,如正在运行的程序的临时文件,任何人都能够访问,重要的数据不能够存放在这个目录中。
- var:(variable)用于存放的是运行时需要修改数据的文件,如如随时更改的日志文件/var/log。
-
LInux中的命令操作:(Linux中的重点之一)
-
切换目录命令:cd (change directory) 需要注意的两点就是 Linux系统中所有的文件目录 和 文件名称都是大小写敏感的 二就是 如果路径是从根路径开始的,则路径的前面需要加上 “ / ” 进入某个目录的里的文件夹 前面不加上"/"
cd 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录
cd ~ 切换到当前用户的主目录(/home/用户目录)
cd . 切换到当前目录
cd .. 切换到上级目录
cd - 可进入上次所在的目录| -
列出文件列表:ls(list) 类似DOS命令下的dir命令 Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示
- ls命令中参数:
ls -a:显示出所有的文件或者是目录(包括隐藏的文件:Linux中以. 头的都是隐藏文件)
ls -l:能够结构化的列出文件(不包括隐藏的文件,能够简写成ll)
ls -la:上面两种相结合
ls -lh: 这样的 方式是以人性化的方式显示文件的大小 - 在Unix/Linux系统中,也同样允许使用特殊字符来同时引用多个文件名,这些特殊字符被称为通配符
常用的通配符有
* 文件代表文件名中所有字符ls te* 查找以te开头的文件 ls *html 查找结尾为html的文件
? 代表文件名中任意一个字符
[] [”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围
\ 转义字符:就是通配符当做是普通字符使用
- ls命令中参数:
-
创建目录和移除目录:mkdir (make directory)和 rmdir(remove directory)
- 注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限
mkdir -p aaa/bbb:级联创建aaa和aaa下的bbb目录
rmdir:只能删除没有子目录的空目录
- 注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限
-
创建文件和删除文件:touch 和 rm
-
使用rm进行删除文件或者是目录需要注意的就是 文件进行删除的时候不能进行恢复一般是使用 -i参数进行交互式的删除
rm -f:不询问直接删除
rm -r:递归删除
rm -i:交互的方式进行删除 -
创建文件使用的命令是touch:创建的是一个空的文件:Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名
touch hello.txt 创建的是名称为hello.txt文件
-
-
复制和移动文件:cp(copy)和 mv(move)
-
cp 将文件从一处复制到另一处相当于DOS下的copy命令
cp 源文件/目录 复制到的文件/目录
常用的参数:
-a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性
-f 覆盖已经存在的目标文件而不提示
-i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个 目录名
-v 显示拷贝进度 -
mv:移动或者是重命名
mv 1.txt 2.txt
常用的参数:
-f 禁止交互式操作,如有覆盖也不会给出提示
-i 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v 显示移动进度
-
-
打包或者是解包:计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据 tar(很常用)常用的参数:
- -c:创建一个新tar文件
- -v:显示运行过程的信息
- -f:指定文件名
- -z:调用gzip压缩命令进行压缩
- -t:查看压缩文件的内容
- -x:解开tar文件
打包
tar cvf a.tar *.txt
解包
tar xvf a.tar -c atar
-
查看文件:cat 或者是more命令
- 查看或者合并文件内容:cat
cat test1.txt test2.txt
- 分屏显示:more 查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示
more test.txt
- 查看或者合并文件内容:cat
-
查找文件 (按照文件名:find 按照内容:grep)
- find:使用文件名进行文件的查找
find / -name “ins*” 查找文件名称是以ins开头的文件能够使用通配符
find . -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件 - grep用法: grep [选项]… PATTERN [FILE]…
示例:grep lang anaconda-ks.cfg 在文件中查找langgrep lang anaconda-ks.cfg –color 高亮显示 grep常用正则表达式进行查找
- find:使用文件名进行文件的查找
-
建立连接文件:ln Linux链接文件类似于Windows下的快捷方式。链接文件分为软链接和硬链接 软链接:软链接不占用磁盘空间,源文件删除则软链接失效 硬链接:硬链接只能链接普通文件,不能链接目录
硬链接:ln 源文件 链接文件
软连接:ln -s 源文件 链接文件 -
管道: 一个命令的输出可以通过管道做为另一个命令的输入:从左边写 右边读
ls / | more 就是在根路径下的文件 分页读取
-
修改文件权限:chmod chmod 修改文件权限有两种使用格式:字母法与数字法。
-
字母法: 使用rwx表示可读 可写 可执行权限
字母法:chmod u/g/o/a +/-/= rwx 文件
四种参数的含义:
u 表示的是该文件的所有者 user
g 表示的是与该文件所拥有者的同一组者 用户组 group
o 表示的是其他的人 other
a 表示的是所有的人 三者皆是 all+ - = 的含义:
+ 表示增加权限
- 表示撤销权限
= 表示设定权限rwx 含义
r read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录 -
数字法:“rwx” 这些权限也可以用数字来代替
r 读取权限,数字代号为 “4”
w 写入权限,数字代号为 “2”
x 执行权限,数字代号为 “1”
不具任何权限,数字代号为 “0”
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如:chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限
如:chmod u=rwx,g=rx,o=r filename == chmod u=7,g=5,o=4 filename
-
-
关机重启:reboot、shutdown
reboot 重新启动操作系统
shutdown –r now 重新启动操作系统,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机 -
其他命令:
- pwd:显示当前所在的目录
- clear:清屏或者是使用CTRL + L
-
-
Vi 和Vim 编辑器:
- 在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按 i 、o、a键;
- i 在当前位置前插入
- I 在当前行首插入
- a 在当前位置后插入
- A 在当前行尾插入
- o 在当前行之后插入一行
- O 在当前行之前插入一行
- 保存:
- 保存并退出:wq
- 没有修改内容直接退出:q
- 修改内容不保存退出:q!
- 在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。切换到命令行模式:按Esc键;切换到插入模式:按 i 、o、a键;
-
重定向输出:> 和 >> 两者的区别:能在控制台上输出的都能够使用重定向输出
- > :输入覆盖命令>负责将输出重定向到一个具体文件,并且将覆盖原有的文件内容
- >> : 输入追加命令>>负责将输出重定向到一个具体文件,只是在原文件内容之后追加新的内容,不会覆盖原有的内容而是追加内容。