Linux基础(part1)(8,15 老奶生日快乐)(文章内容来自黑马程序员)
第一章1、Linux目录结构1Linux路径的描述方式在Linux系统中路径之间的层级关系使用/ 来表示在Windows系统中路径之间的层级关系使用\ 来表示2Linux开头为 /表示根目录只有一个Windows开头为 大写字母 , 表示盘符可以有多个2、Linux命令基础学习Linux本质上是学习在命令行下熟练使用Linux的各类命令。1命令行:即Linux终端(Terminal),是一种命令提示符页面。以纯“字符”的形式操作系统可以使用各种字符化命令对系统发出操作指令。2命令:即Linux程序。一个命令就是一个Linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符化的反馈。3Linux命令基础格式:无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:command [-options] [parameter]command:命令本身-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等语法中的[],表示可选的意思示例:ls -l /home/itheimals是命令本身-l是选项/home/itheima是参数意思是以列表的形式显示/home/itheima目录内的内容。cp -r test1 test2,cp是命令本身-r是选项test1和test2是参数意思是复制文件夹test1成为test23、ls命令基础1 ls命令的作用是列出目录下的内容语法细节如下:ls [-a -l -h] [Linux路径]1-a -l -h是可选的选项2Linux路径是此命令可选的参数当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容2HOME目录和工作目录HOME: 每一个用户在Linux系统的专属目录默认在: /home/用户名工作目录Linux命令行在执行命令的时候,需要一个工作目录,打开命令行程序(终端)默认设置工作目录在用户的HOME目录4、ls命令的参数和选项1ls命令的参数的作用可以指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容2ls命令的选项:-a选项,可以展示出隐藏的内容以.开头的文件或文件夹默认被隐藏需要-a才能显示出来-l选项,以列表的形式展示内容,并展示更多细节-h选项需要和 -l 选项搭配使用以更加人性化的方式显示文件的大小单位3命令的选项组合使用命令的选项是可以组合使用的比如:ls -lah等同于 ls -a -l -h5、cd-pwd命令1cd 切换工作目录当Linux终端(命令行)打开的时候会默认以用户的HOME目录作为当前的工作目录我们可以通过cd命令更改当前所在的工作目录cd命令来自英文:Change Directory语法: cd [Linux路径]cd命令无需选项只有参数表示要切换到哪个目录下cd命令直接执行不写参数表示向到用户的HOME目录2pwd 查看当前工作目录通过ls来验证当前的工作目录其实是不恰当的。我们可以通过pwd命令来查看当前所在的工作目录。pwd命令来自:Print Work Directory语法:pwdpwd命令无选项无参数直接输入pwd即可6、相对路径、绝对路径和特殊路径符1绝对路径:以根目录为起点描述路径的一种写法路径描述以 / 开头2相对路径:以当前目录为起点描述路径的一种写法路径描述无需以/开头3特殊路径符:. 表示当前目录比如 cd ./Desktop 表示切换到当前目录下的Desktop目录内和cd Desktop效果一致.. 表示上一级目录比如: cd .. 即可切换到上一级目录cd ../.. 切换到上二级的目录... 表示HOME目录比如 : cd ~ 即可切换到HOME目录或 cd ~/Desktop切换到HOME内的Desktop目录7、mkdir命令1mkdir:通过mkdir命令可以创建新的目录(文件夹)mkdir来自英文:Make Directory语法:mkdir [-p] Linux路径参数必填表示Linux路径即要创建的文件夹的路径相对路径或绝对路径均可-p选项可选表示自动创建不存在的父目录适用于创建连续多层级的目录2mkdir -p 选项如果想要一次性创建多个层级的目录如下[icymemorybogon ~]$ mkdir itcast/good/666 mkdir:无法创建目录itcast/good/666:没有那个文件或目录会报错因为上级目录itcast和good并不存在所以无法创建666目录可以通过-p选项将一整个链条都创建完成。[icymemorybogon ~]$ mkdir -p itcast/good/666 [icymemorybogon ~l$ cd itcast/good/666 [icymemorybogon 666]$ pwd /home/icymemory/itcast/good/666注意:创建文件夹需要修改权限,请确保操作均在HOME目录内,不要在HOME外操作涉及到权限问题8、touch-cat-more命令1touch 创建文件可以通过touch命令创建文件语法 : touch Linux路径touch命令无选项参数必填表示要创建的文件路径相对、绝对、特殊路径符均可以使用2cat命令 查看文件内容有了文件后我们可以通过cat命令查看文件的内容。不过现在我们还未学习vi编辑器无法向文件内编辑内容所以暂时我们先通过图形化在图形化中手动向文件内添加内容以测试cat命令语法: cat Linux路径cat同样没有选项只有必填参数参数表示:被查看的文件路径相对、绝对、特殊路径符都可以使用3more命令查看文件内容more命令同样可以查看文件内容同cat不同的是:cat是直接将内容全部显示出来more支持翻页如果文件内容过多可以一页页的展示语法:more Linux路径同样没有选项只有必填参数参数表示:被查看的文件路径相对、绝对、特殊路径符都可以使用9、cp-mv-rm命令1cp命令复制文件文件夹cp命令可以用于复制文件\文件夹cp命令来自英文单词:copy语法:cp [-r] 参数1 参数2-r选项可选用于复制文件夹使用表示递归参数1Linux路径表示被复制的文件或文件夹参数2Linux路径表示要复制去的地方2mv移动文件或文件夹mv命令可以用于移动文件\文件夹mv命令来自英文单词:move语法: mv 参数1 参数2参数1Linux路径表示被移动的文件或文件夹参数2Linux路径表示要移动去的地方如果目标不存在则进行改名确保目标存在3rm删除文件、文件夹rm命令可用于删除文件、文件夹rm命令来自英文单词:remove语法:rm [-r -f] 参数1 参数2...... 参数N同cp命令一样-r选项用于删除文件夹。-f表示force强制删除(不会弹出提示确认信息)普通用户删除内容不会弹出提示只有root管理员用户删除内容会有提示所以一般普通用户用不到 -f 选项参数1、参数2、…、参数N 表示要删除的文件或文件夹路径按照空格隔开10、which-find命令我们在前面学习的Linux命令其实它们的本体就是一个个的二进制可执行程序。和Windows系统中的.exe文件是一个意思。1which命令我们可以通过which命令查看所使用的一系列命令的程序文件存放在哪里语法: which 要查找的命令2find命令1 按文件名查找文件在整个系统完成搜索需要管理员权限su - root在Linux系统中我们可以通过find命令去搜索指定的文件。语法: find 起始路径 -name 被查找文件名被查找文件名支持使用通配符*来做模糊查询符号*表示通配符即匹配任意内容(包含空)示例:test*表示匹配任何以test开头的内容*test表示匹配任何以test结尾的内容*test”表示匹配任何包含test的内容基于通配符的含义可以结合find命令做文件的模糊查询2按文件大小查找文件语法:find 起始路径-size l-n[kMG]、-表示大于和小于n表示大小数字kMG表示大小单位k(小写字母)表示kbM表示MBG表示GB示例:查找小于10KB的文件: find / -size -10k查找大于100MB的文件: find / -size 100M查找大于1GB的文件: find / -size 1G11、grep-wc-管道符1grep命令可以通过grep命令从文件中通过关键字过滤文件行语法 : grep [-n] 关键字 文件路径选项 -n可选表示在结果中显示匹配的行的行号。参数关键字必填表示过滤的关键字带有空格或其它特殊符号建议使用 ” ” 将关键字包围起来参数文件路径必填表示要过滤内容的文件路径可作为内容输入端口2wc命令做数量统计可以通过wc命令统计文件的行数、单词数量等语法:wc [ -c -m -l -w ] 文件路径选项-c统计bytes数量选项-m统计字符数量选项-l统计行数选项-w统计单词数量参数文件路径被统计的文件可作为内容输入端口3 管道符学习了grep命令后我们在来学习一个新的特殊符号管道符: |管道符的含义是:将管道符左边命令的结果作为右边命令的输入12、echo-tail-重定向符1echo命令可以使用echo命令在命令行内输出指定内容语法:echo 输出的内容无需选项只有一个参数表示要输出的内容复杂内容可以用 ” ” 包围2 重定向符 : 和 将左侧命令的结果覆盖写入到符号右侧指定的文件中将左侧命令的结果追加写入到符号右侧指定的文件中3tail命令使用tail命令可以查看文件尾部内容跟踪文件的最新更改语法 : tail [ -f -num ] Linux路径参数Linux路径表示被跟踪的文件路径选项-f表示持续跟踪选项,-num表示查看尾部多少行不填默认10行13、vi编辑器vi\vim是visual interface的简称, 是Linux中最经典的文本编辑器同图形化界面中的文本编辑器一样vi是命令行下对文本文件进行编辑的绝佳选择。vim 是 v 的加强版本兼容v的所有指令不仅能编辑文本而且还具有 shell 程序编辑的功能可以不同颜色的字体来辨别语法的正确性极大方便了程序的设计和编辑性。如果需要通过vi/vim编辑器编辑文件请通过如下命令:vi 文件路径vim 文件路径vim兼容全部的vi功能后续全部使用vim命令如果文件路径表示的文件不存在那么此命令会用于编辑新文件如果文件路径表示的文件存在那么此命令用于编辑已有文件1vi \ vim编辑器的三种工作模式1命令模式(Command mode)命令模式下所敲的按键编辑器都理解为命令以命令驱动执行不同的功能。此模型下不能自由进行文本编辑。2输入模式(Insert mode)也就是所谓的编辑模式、插入模式。此模式下可以对文件内容进行自由编辑。3底线命令模式(Last line mode)以:开始通常用于文件的保存、退出。2快捷键第二章1、Linux的root用户1root用户(超级管理员)无论是Windows、MacOs、Linux均采用多用户的管理模式进行权限管理在Linux系统中拥有最大权限的账户名为:root(超级管理员)而在前期我们一直使用的账户是普通的用户2su命令在前面我们接触过su命令切换到root账户su命令就是用于账户切换的系统命令其来源英文单词:Switch User语法 : su [ - ] [ 用户名 ]- 符号是可选的,表示是否在切换用户后加载环境变量(后续讲解)建议带上参数 : 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root切换用户后可以通过exit命令退回上一个用户也可以使用快捷键 : ctrl d使用普通用户切换到其它用户需要输入密码如切换到root用户使用root用户切换到其它用户无需密码可以直接切换3sudo命令在我们得知root密码的时候可以通过su命令切换到root得到最大权限但是我们不建议长期使用root用户避免带来系统损坏。我们可以使用sudo命令为普通的命令授权临时以root身份执行。语法 : sudo 其它命令在其它命令之前带上sudo即可为这一条命令临时赋予root授权但是并不是所有的用户都有权利使用sudo我们需要为普通用户配置sudo认证为普通用户配置sudo认证切换到root用户执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers在文件的最后添加:用户名 ALL(ALL) NOPASSWD: ALL其中最后的NOPASSWD:ALL表示使用sudo命令无需输入密码最后通过 wq 保存2、用户和用户组Linux系统中可以 :配置多个用户配置多个用户组用户可以加入多个用户组中1需root用户执行的命令1创建用户组groupadd 用户组名2删除用户组groupdel 用户组名3创建用户useradd [ -g -d ] 用户名选项-g指定用户的组不指定-g会创建同名组并自动加入指定-g需要组已经存在如已存在同名组必须使用-g选项-d指定用户H0ME路径不指定H0ME目录默认在:/home/用户名4删除用户userdel [ -r ] 用户名选项-r删除用户的HOME目录不使用-r删除用户时HOME目录保留5查看用户所属组id [ 用户名 ]参数用户名被查看的用户如果不提供则查看自身6修改用户所属组usermod -aG 用户组 用户名将指定用户加入指定用户组3、查看权限控制信息1getent命令使用getent命令可以查看当前系统中有哪些用户语法getent passwd使用getent命令可以查看当前系统中有哪些用户语法getent group包含3份信息组名称:组认证(显示为x):组ID2认知权限信息3rwx那么rwx到底代表什么呢?r表示读权限w表示写权限x表示执行权限针对文件、文件夹的不同rwx的含义有细微差别r针对文件可以查看文件内容针对文件夹可以查看文件夹内容如ls命令w针对文件表示可以修改此文件针对文件夹可以在文件夹内:创建、删除、改名等操作x针对文件表示可以将文件作为程序执行针对文件夹表示可以更改工作目录到此文件夹即cd进入4、chmod命令1chmod命令我们可以使用chmod命令修改文件、文件夹的权限信息。注意只有文件、文件夹的所属用户或root用户可以修改。语法chmod [ -R ] 权限文件或文件夹选项-R对文件夹内的全部内容应用同样的操作2权限的数字序号权限可以用3位数字来代表第一位数字表示用户权限第二位表示用户组权限第三位表示其它用户权限数字的细节如下记为4w记为2x记为1可以有0无任何权限 即 ---1仅有x权限即 --x2仅有w权限即 -w-3有w和x权限即 -wx4仅有r权限即 r--5有r和x权限即 r-x6有r和w权限即 rw-7有全部权限即 rwx5、chown命令使用chown命令可以修改文件、文件夹的所属用户和用户组普通用户无法修改所属为其它用户或组所以此命令只适用于root用户执行语法chown [ -R ] [ 用户 ] [ : ] [ 用户组 ] 文件或文件夹选项-R同chmod对文件夹内全部内容应用相同规则选项用户修改所属用户选项用户组修改所属用户组 : 用于分隔用户和用户组