Linux基本操作学习 一、linux中执行命令1、命令分为两类内置命令由shell程序自带的命令外部命令有独立的可执行程序文件文件名即命令名。格式为主命令 参数 操作对象。参数是指定命令的运行特性指明要运行命令中的哪一个功能代码。有短选项例如-l-d如果同一命令同时使用多个短选项多数可合并长选项例如--help--human-readable。操作对象作为命令的作用对象即命令对什么生效。有些命令可同时带多个操作对象多个操作对象之间以空白字符分隔注意终止当前的命令按【CtrlC】键可中断正在执行的命令。以及有两种补全方式输入命令关键字的前几个字符后按Tab键可实现命令自动补全补全文件名和目录名输入文件的前几个字符后按tab键可自动补全。2、查看命令帮助查看bash内部命令帮助[rootserver ~]# help cd命令 --help [rootserver ~]# cat --helpman命令用来提供在线帮助使用权限是所有用户使用man命令可以调阅其中的帮助信息非常方便实用[rootserver ~]# man ls可以自己阅读相关帮助。info与man的用途其实差不多都是用来查询命令的用法或者是文件的格式[rootserver info]# info info不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的。date命令用于显示或设置系统的时间与日期格式为date -参数 显示日期时间格式参数用户只需在强大的date命令后输入以 号开头的格式参数即可按照指定格式来输出系统的时间或日期这样在日常工作时便可以把备份数据的命令与指定格式输出的时间结合到一起。常见参数有%Y完整年份%m 月份 %d本月中的第几天。比如ootserver ~]# date。timedatectl命令用于设置系统的时间若发现电脑时间跟实际不符且只有几分钟可以用此命令调整但如果差几个小时那么除了调整当前的时间还要检查时区格式为timedatectl [OPTIONS...] COMMAND ...。比如查看系统时间与时区[rootserver ~]# timedatectl status实际应用不大。查看日历格式为cal 月份 年份比如[rootserver ~]# cal 05 2026查看目录下的文件格式为ls -参数 操作对象比如[rootserver ~]# ls -dl /root二、linux文件类型和根目录结构1、Linux目录结构的特点使用树形目录结构来组织和管理文件整个系统只有一个根目录Linux的根目录用“”表示其他所有分区以及外部设备都是以根目录为起点挂接在目录树的某个目录中的通过访问挂载点目录即可实现对这些分区的访问。常见目录用途/root超级用户的个人目录普通用户没有权限访问/bin存放普通用户可执行的程序或命令/etc存放了系统管理时要用到的各种配置文件和子目录/sys本目录是将内核的一些信息映射文件,以供应用程序所用。注意系统自带的目录不要随意删除目录的名称是区分大小写的。2、路径以及工作目录路径可分为绝对路径是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式相对路径是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。工作目录用户当前所处的位置使用pwd命令查看更改当前的工作目录即切换目录cd 路径三、从命令行管理文件1、文件命名规则不能使用/来当文件名/是用来做根的也是用来做路径分隔符的文件名不能超过255个字符区分大小写目录也是文件在同一路径下两个不同类型文件不能同名。2、创建链接文件1硬连接linux系统允许多个文件指向同一个inode即允许一个文件拥有多个有效地路径名。查看方法ll 文件名stat 文件名建立硬连接格式ln -参数 源文件 目标连接文件注意硬连接建立后删除源文件后数据依然可以访问只有硬连接为0时数据旧无法访问了硬连接不能给目录建立不可以在不同的文件系统内建立硬连接。2软连接软连接是一种符号连接类似于windows的“快捷方式”仅包含所连接的路径名格式ln -s 源文件 目标连接名注意软连接只是一种指向关系删除源文件则数据不可访问可以通过ll命令查看软连接实际执行文件及位置更改软连接方法ln -snf 新文件名 软连接名删除软连接只是删除指向关系源数据依然可以访问3软硬连接的区别硬连接中源文件与连接文件公用一个inode号是同一个文件软连接中源文件与连接文件拥有不同inode号是2个不同的文件软连接的指向关系可以查看硬连接不可以查看连接数不同软连接数不会增加文件大小不同硬连接文件大小与源文件一样软连接不受任何文件系统的影响任何用户都可以创建指向目录的软连接3、目录操作命令1创建目录格式为mkdir [-p] [/路径/]目录名参数-p 可快速创建出目录结构中指定的每个目录对于已存在的目录不会被覆盖-v 显示创建目录的详细过程。比如[rootserver ~]# mkdir t2 t3 t4 # 批量一次性新建2du命令作用是统计目录及文件的空间占用情况查看某个目录中的各级子目录所占用的磁盘空间数。命令格式为du [参数] [目录名]。4、新建文件1创建普通文件touch用法1如果文件已存在更新文件的三个时间stat可以查看文件的详细信息[rootserver ~]# stat /etc/hostnametouch用法2如果文件不存在则表示创建文件格式为touch 文件名1 文件名2 文件名3或touch {文件名1,文件名2,文件名3}比如[rootserver ~]# touch p1.txt注意tree命令显示目录下文件的树形拓扑图及摘要格式为tree -参数 路径参数有-a所有文件包含显示隐藏文件-f列出文件的完整路径内容-d只显示目录-L设置显示最大深度如tree -f -L 2。2创建大容量文件制作指定个数及容量的空文件格式为dd if来源 of新文件名 count数据块个数 bs块容量参数有if/dev/zero zero空数据设备文件可以向其它文件中填充无数个数据0of新文件名一般给出存储路径count新文件由几个数据块组成,bs一个数据块容量。比如制作100MB空数据文件[rootserver ~]# dd if/dev/zero of/root/z1 count2 bs50M5、删除文件格式为rm -参数 文件名用法有删除文件 rm 文件名删除目录rm -r 目录名强制删除不确认rm -f 文件名。注意删除前必须确认路径及名称删除文件时必须将文件名及扩展名写全。6、数据流和重定向标准输入指从键盘获取的输入标准输出之命令执行所回传正确的信息会输出到屏幕上标准错误输出可理解为命令执行失败后所回传的错误信息会输出到屏幕上。不管正确或错误的数据都是默认输出到屏幕上所以屏幕是混乱的就需要用数据流重定向将这两条数据分开。重定向操作符可以将命令输入和输出数据流从默认设备重定向到其他位置。重定向操作符本身不是命令而是命令中附加的可改变命令的输入和输出对象的特殊符号。输出重定向操作符、输入重定向操作符、。其用法有命令 文件 或 命令 1文件 : 将命令执行后的结果不在默认的屏幕上显示而是以覆盖的方式写入到指定文件中若指定的文件不存在则自动创建该文件命令 2文件 : 将命令执行后所产生的错误信息不在默认的屏幕上显示而是以覆盖的方式写入到指定文件中若指定的文件不存在则自动创建该文件命令 文件 将命令执行后的正确输出信息以追加的方式写入到指定的文件中不覆盖原文件内容若指定的文件不存在则自动创建该文件命令 文件 使命令从指定的文件中读取数据作为输入。比如输出重定向覆盖[rootserver ~]# date 1 date.txt输出重定向追加) [rootserver ~]# date date.txt输入重定向从文件读取数据作为cat命令的输入[rootserver ~]# cat file将标准输出重定向到文件echo命令向终端设备上输出字符串或变量提取后的值格式为echo 字符串比如[rootserver ~]# echo $SHELL再[rootserver ~]# echo hello /root/test/file7、tee命令读取数据输出到文件此命令读取标准输入的数据并将其内容输出到文件的同时输出到屏幕tee指令会从标准输入设备读取数据将其内容输出到标准输出设备同时输出到文件。格式为tee 参数 文件名。参数有-a或--append附加到现有文件的后面而非覆盖它-i或--ignore-interrupts 忽略中断信号--help在线帮助。管道符|是unix一个很强大的功能符号为一条竖线:|用于两个命令或者多个命令相连接将管道符左边命令的输出作为管道符右边命令的输入格式为命令A | 命令2 | 命令3 ……。比如[rootserver ~]# more test1.txt | wc -l # 统计行数四、文件内容显示1、浏览普通文件1文件内容查看cat 命令作用为查看文件内容适合数据量较少。格式cat -参数 文件名参数-n显示行号加上-b文件中所有非空行增加行号编号从1开始Tac作用倒叙访问文件内容格式tac 参数 文件名例如 tac /etc/passwdmore 命令作用翻页查看文件内容适合内容较多的文件查看格式more 文件名注意使用回车则一行一行查看使用空格则整页查看点击q键退出查看less命令作用同more命令格式less 文件名注意可以使用上下键进行浏览点击q退出浏览tail命令作用查看文档后n行内容格式tail -参数 文件名两个参数-数字查看倒数行数-f动态刷新, 实时显示日志文件并且能动态更新2、文件信息查看file 命令作用查看文件类型格式file -参数 文件名文件类型ASCII file ASCII文本字符文件empty空文件block special 块设备文件character special 字符设备文件diretory目录stat 命令作用显示文件属性信息格式stat 文件名注意一般通过该命令查看大小、Inode、硬链接、软连接3、文件内容过滤显示—grep在指定的普通文件中查找并显示含有指定字符串的行也可与管道符一起使用。格式为grep -参数 查找条件 文件名可以使用特殊符号匹配grep h 文件名查找文件里有字符h的行grep ^[q] 文件名匹配以q开始的行grep ^[qf] 文件名匹配以q或者f开头的行4、切割显示-cutcut命令用于按列提取文本内容格式为cut -d 分隔符 -f列数字 文件名比如提取IP地址[rootserver ~]# ip a | grep ens160 | grep inet | cut -d / -f1 | cut -d -f65、排序显示-sortsort命令用于对文本内容进行排序显示格式为sort -参数 文件名比如[rootserver ~]# cat /etc/passwd | cut -d : -f1 | sort # 取出所有账户名6、去重显示-uniquniq命令用于去除文本中连续的重复行格式为uniq -参数 文件名7、文件中字符替换显示-trtr 指令从标准输入读取数据经过替换或者删除后将结果输出到标准输出格式为tr -参数 替换内容 新内容参数-c反选设定字符符合 “替换内容” 的部份不做处理不符合的剩余部份才进行转换-d删除指令字符-s缩减连续重复的字符成指定的单个字符。比如提取IP地址[rootserver ~]# ip a | grep ens160 | grep inet | cut -d / -f1 | tr -s | cut -d -f3五、文件的其它操作命令1、文本内容统计wcwc命令用于统计指定文本文件的行数、字数或字节数格式为wc -参数 文件名参数-l只显示行数-w只显示单词数-c 只显示字节数。比如配合管道符计算[rootserver ~]# ll / | wc -l # 文件数2、复制、移动文件1复制文件或目录格式为cp -参数 源文件 目标文件比如[rootserver ~]# cp t2.txt /t3.txt # 另存为[rootserver ~]# cp p1 / # 报错目录需加-r[rootserver ~]# cp -r p1 /[rootserver ~]# cp -r p2 /p3 # 目录另存为2移动文件或目录mv命令用于剪切或重命名文件格式为mv [选项] 源文件名称 目标文件名称注意剪切操作不同于复制操作因为它会把源文件删除掉只保留剪切后的文件如果在同一个目录中将某个文件剪切后还粘贴到当前目录下其实本质就是对文件进行了重命名操作。比如[rootserver ~]# mv t3.txt /etc #源为文件目标为目录 为移动3、查找文件1查找文件路径whereis命令可以搜索系统命令的可执行文件路径和说明文档格式whereis 命令名比如[rootserver ~]# whereis lswhich命令搜索系统命令的可执行文件格式which 命令名比如[rootserver ~]# which cd4、查找文件-find按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件格式find 查找路径 查找条件 具体条件 操作注意find命令默认的操作是print输出find是检索文件的grep是过滤文件中字符串。比如/etc下检索host开头的文件[rootserver ~]# find /etc -name host* -print在/目录查找以a开头文件[rootserver ~]# find / -name a*5、压缩和解压缩压缩时一般采用gzip命令使用gzip压缩文件[rootserver test]# gzip test1.txttar归档命令,格式为tar -参数 [args]……常用参数-c创建.tar格式的包文件-x释放.tar格式的包文件-t查看包中的文件列表必选参数-f用于指定打包文件名当与-c选项一起使用时创建的tar包文件使用该选项指定的文件名当与-x选项一起使用时,则释放该选项指定的tar包文件。6、打包创建(非压缩的)打包文件将指定的一个或多个文件或目录备份生成为一个指定的包文件格式为tar cvf/cfv/-cvf 文件名.tar 要打包的目录或文件名。打包压缩为节省存储空间通常需要生成压缩格式的tar包文件tar czf/-czf 文件名.tar.gz 要打包压缩的目录或文件名……提取包文件到指定目录tar xf/-xf/-xzf 文件名.tar.gz [-C 目标路径]。比如将/etc下所有内容打包压缩到/root目录中[rootserver ~]# tar -cvf taretc.tar.gz /etc解压缩[rootserver ~]# mkdir temp