美文网首页
Linux基础

Linux基础

作者: 遇明不散 | 来源:发表于2019-01-01 22:32 被阅读11次

    三大操作系统

    • Unix(安全、稳定、高效)
      代表:AIX(IBM)、Solaris(SUN)、IOS(Apple)、Mac OS X(Apple)
    • Windows
      代表:Win95、Win98、Win2000、Win xp、win7、Win8、Win10
    • Linux
      安卓(Android)、基于Linux开发Ubuntu(开源、免费)、Redhat

    计算机的组成

    硬件

    • 处理器(CPU)
    • 运行内存RAM(存储数据) 容量(字节为单位) 断电会丢掉数据
    • 主板(核心)总线设备
    • 输入输出设备(显示屏,键盘,鼠标,触摸屏)
    • 外部存储设备(硬盘,U盘,TF卡)容量大 断电不会丢掉数据

    软件

    操作系统(操作系统也是一种软件)
    • Windows
    • Linux
    • Unix
    • uCOSII
    • ......
    应用软件
    • QQ
    • 微信
    • 游戏
    • office
    • ......

    Linux基本结构

    • 应用程序
    • 标准库
    • Linux操作系统内核
    • 硬件

    Linux命令的使用

    命令名 [选项] [参数] 注:[]的内容代表可选

    Linux下的路径

    路径:

    • 用来记录一个文件或文件夹的字符串
    绝对路径:
    • '/' 字符开头的路径为绝对路径
    • 任何时候,绝对路径都是唯一的
    相对路径:
    • 文件/文件夹名称
    • . 当前文件夹
    • .. 上一级文件夹
    • ~ 用户主目录

    Linux常用命令

    Linux命令大全

    • clear 清屏 快捷键:Ctrl+L

    • pwd 显示当前的的工作路径

      • pwd -P 如果目录是链接时,显示出实际路径,而非使用链接路径
    • ls 显示文件/文件夹

      • ls -l 列表显示文件夹的信息
      • ls -a 显示全部文件/文件夹(包含隐藏文件)
      • ls -la 列表显示全部文件/文件夹及其信息
      • ls -A 列出所有的文件,但不包括表示当前目录.和上级目录..这两个文件
      • ls -c 以时间排序,但不显示时间
      • ls -clt 显示列表并且以ctime(文件状态最后改变时间)排序
      • ls -cl 显示ctime并且以文件名排序
      • ls -d 仅列出目录本身,而不是列出目录里的内容列表
      • ls /home 列出/home目录里的内容
      • ls -f 直接列出结果,而不进行排序(ls默认会以文件名排序)
      • ls --color[=WHEN] 是否根据文件类型显示颜色,WHEN可以为never、always或者auto
      • ls --full-time 以完整的实际模式显示(包含年月日时分)
      • ls -g 列表显示结果,和-l类似,但是不显示文件所属者
      • ls -h 将文件内容大小以GB、KB等易读的方式显示
      • ls -li 结合-l参数,列出每个文件的inode
      • ls -I 列出长数据串,显示出文件的属性与权限等数据信息
      • ls -n 显示的所属用户和组不是名称而是对应的id
      • ls -r 将排序结果以倒序方式显示
      • ls -S 以文件大小排序
      • ls -t 以修改时间排序
    • cd 切换目录

      • cd /home/myhome 进入myhome目录
      • cd 进入用户主目录
      • cd ~ 进入用户主目录
      • cd / 进入到根目录
      • cd .. 返回到上级目录
      • cd - 切换到进入这个文件夹之前的文件夹
    • mkdir 创建一个或多个文件夹

      • mkdir d1 d2 创建d1,d2两个文件夹
      • mkdir -m=r a 创建一个名为a的只读文件
      • mkdir -m=w a 创建一个名为a的只写文件
      • mkdir -m=rw a 创建一个名为a的可读可写文件
      • mkdir -p a/bb/ccc/dddd 如果是中间的文件夹不存在,则逐级创建所有文件夹
    • rmdir 删除一个或多个文件夹(文件夹内必须为空)

      • rmdir a 删除名为a的目录
      • rmdir -p a/bb/ccc/dddd 如果是中间文件家为空,则逐级删除中间文件夹
    • tree 显示目录树

      • tree 显示当前文件夹下的目录树
      • tree a 显示a文件夹的目录树
    • touch 创建文件

      • touch a 创建一个名为a的文件,若a已经存在,则更新a文件的修改时间
      • touch -a a 只更改a文件的存取时间
      • touch -c a 如果a不存在,则不创建文件。如果a存在,就会更新时间
      • touch -r a 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同
      • touch -t a 使用指定的日期时间,而非现在的时间
    • rm 删除文件或者文件夹

      • rm a 删除a文件,若文件a不存在,则给出提示
      • rm -f a 强制删除a文件,忽略不存在的文件,不给出任何提示
      • rm -i a 删除a文件,删除前给出提示(y代表yes,n代表no)
      • rm -r a 递归删除a文件夹内的文件和文件夹
      • rm -R a 递归删除a文件夹内的文件和文件夹
      • rm -v a 详细显示删除a时进行的步骤
      • rm *.txt 删除以.txt结尾的所有文件
    • help 查看此命令的帮助信息

      • ls -help 查看ls命令对应的帮助信息
    • man 查看命令所对应的帮助文档

      • man ls 查看ls命令对应的帮助文档
    • cat 将文件内容作为标准输出打印到终端

      • cat file 一次性显示整个file文件的内容
      • cat > file 从键盘创建一个file文件,只能创建新文件,不能编辑已有文件
      • cat file1 > file2file1读内容,并把内容写入到file2
      • cat file1 file2 > file 将几个文件合并为一个文件,这里将fil1,file2合并为file
      • cat -n file 由 1 开始对file文件所有输出内容的行数编号
      • cat -n file1 > file2 把file1 的文件内容加上行号后输入file2 这个文件里
      • cat -b filecat -n file 相似,只不过对于空白行不编号
      • cat -s file 当遇到有连续两行以上的空白行,就代换为一行的空白行
    • more 一页一页的形式显示文件内容,方便使用者逐页阅读

      • 常用参数
        • more +n file 从第n行开始显示文件内容
        • more +5 file 从第5行开始显示文件内容
        • more -n file 定义一次显示的行数
        • more -5 file 定义一次显示5行
        • more -p file 先清除屏幕后再显示内容
        • more -c file 先显示内容再清除其他旧资料
        • more -f file 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
        • more -s file 当遇到有连续两行以上的空白行,就代换为一行的空白行
        • more -u file 显示下引号
      • 常用操作命令
        • Enter向下n行,需要定义,默认为1行。
        • Ctrl+F 向下滚动一屏
        • 空格键 向下滚动一屏
        • Ctrl+B 返回上一屏
        • = 输出当前行的行号
        • :f 输出文件名和当前行的行号
        • V 调用vi编辑器
        • !命令 调用Shell,并执行命令
        • q 退出more
    • mv 移动文件或者将文件改名
      格式:mv [选项] 源文件或目录 目标文件或目录
      命令功能:
      mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。在跨文件系统移动文件时,mv先拷贝,再将原有文件删除,而链至该文件的链接也将丢失。

      • mv -b file1 file2 如果目标文件file2已经存在,文件被覆盖前做简单备份
      • mv -f file1 file2 如果目标文件file2已经存在,不会询问而直接覆盖
      • mv -i file1 file2 如果目标文件file2已经存在,会询问是否覆盖
      • mv -u file1 file2 只在源文件文(file1)件比目标文件(file2)新,或目标文件(file2)不存在时才进行移动
      • mv file1 /home/file2 将文件file1移动到home下的file2
      • mv -t /home/file1 file2 file3 ... 指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后
    • find 在一个目录(及子目录)中搜索文件

      • 常用格式:find [path...] [expression]
        • pathfind命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
        • expressionexpression可以分为——“-options [-print -exec -ok ...]
          • -options,指定find命令的常用选项
          • -printfind命令将匹配的文件输出到标准输出
          • -execfind命令对匹配的文件执行该参数所给出的shell命令
          • -ok,和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
      • 常用选项
        • -name 按照文件名查找文件
          • find /test -name a/test目录及其子目录下面查找名字为a的文件
          • find . -name *.c 在当前目录及其子目录中查找任何扩展名为“c”的文件
        • -perm 按照文件权限来查找文件
          • find . -perm 755 –print 在当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其它用户可以读、执行的文件
        • -prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略
          • find /apps -path "/apps/bin" -prune -o –print 在/apps目录下查找文件,但不希望在/apps/bin目录下查找
          • find /usr/test -path "/usr/sam/temp" -prune -o –print 在/usr/test目录下查找不在temp子目录之内的所有文件
        • -user 按照文件属主来查找文件
          • find ~ -user imings –print$home目录中查找文件属主为imings的文件
        • -group 按照文件属主来查找文件
          • find /text -group aaa –print/text目录下查找属于aaa用户组的文件
        • -mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前
          • find / -mtime -5 –print 在系统根目录下查找更改时间在5日以内的文件
          • find / -mtime +5 –print 在系统根目录下查找更改时间在5日以前的文件
        • -type 查找某一类型的文件
          • b - 块设备文件
          • d - 目录
          • c - 字符设备文件
          • p - 管道文件
          • l - 符号链接文件
          • f - 普通文件
          • find /etc -type d –print/etc目录下查找所有的目录
          • find . ! -type d –print 在当前目录下查找除目录以外的所有类型的文件
        • -size n 查找文件长度为n块的文件,带有c时表示文件长度以字节计
          • find . -size +1000000c –print 在当前目录下查找文件长度大于1 M字节的文件
          • find /home/test -size 100c –print/home/test目录下查找文件长度恰好为100字节的文件
          • find . -size +100 –print 在当前目录下查找长度超过100块的文件(一块等于512字节)
        • -depth 查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找
          • find / -name "text.c" -depth –print 首先匹配当前目录所有的文件然后再进入子目录中查找
    • grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来
      格式: grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
      详情可参考 grep命令的使用linux grep命令

    • chown 将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符,只有系统管理者(root)才有这样的权限
      格式:chown [-cfhvR] [--help] [--version] user[:group] file...
      参数:

      • user : 新的文件拥有者的使用者 ID
      • group : 新的文件拥有者的使用者组(group)
      • -c : 显示更改的部分的信息
      • -f : 忽略错误信息
      • -h :修复符号链接
      • -v : 显示详细的处理信息
      • -R : 处理指定目录以及其子目录下的所有文件
      • --help : 显示辅助说明
      • --version : 显示版本
    • 压缩与解压

      • gzip命令用来压缩文件 格式:gzip [options] [file-list]

      • gunzip命令用来解压文件 格式:gunzip [options] [file-list]
        参数说明:file-list 为要压缩或解压缩的一个或者多个文件的路径名列表。如果在file-list中存在目录但无选项-r,则gzip/gunzip会报告错误消息并忽略该目录,使用-r选项,gzip/gunzip会递归地压缩/解压缩目录层次结构中的文件

        • -c 将压缩或解压缩的结果写到标准输出,而不是写到文件

        • -d 解压缩用gzip压缩的文件。该选项用于gzip,与gunzip等价,即gzip -d = gunzip

        • -f 压缩/解压缩时强制覆盖已存在的文件

        • -l 对于在file-list中要压缩的每个文件,显示压缩和解压缩后文件的大小、压缩比和压缩前的文件名
          -v可获得其他信息

        • -n 在压缩速度和压缩量间进行权衡。n为从1~9的数字。第1级为最快压缩,但压缩量最小;第9级的压缩速度最慢,但压缩量最大。默认级别为6--fast--best分别等价于-1-9

        • -q 禁止显示警告信息

        • -r 递归压缩/解压缩file-list中的文件

        • -t 验证压缩文件的完整性。如果文件完整则不显示任何信息

        • -v 显示文件名、压缩后的文件名和每个被处理文件的压缩量

    • tar 对文件或文件夹进行打包和解包的操作,以.tar后缀代表tar包,用xxx.tar.gz.tgz代表gzip压缩过的tar文件,用.tar.bz2代表bzip2压缩过的tar文件。

      • -c 创建包
      • -x 解包
      • -v 显示操作的文件细节
      • -zgzip/gunzip对包进行压缩和解压缩
      • -f 文件名 正在操作的文件名
      • -C 路径 改变解压缩的路径(只对解包有效)

      解压方法总结

      • *.tartar –xvf 解压

      • *.gzgzip -d或者gunzip 解压

      • *.tar.gz*.tgztar –xzf 解压

      • *.bz2bzip2 -d或者用bunzip2 解压

      • *.tar.bz2tar –xjf 解压

      • *.Zuncompress 解压

      • *.tar.Ztar –xZf 解压

      • *.rarunrar x 解压

      • *.zipunzip 解压

    chmod 修改文件权限
    格式: chmod 权限 文件名/文件夹名

    • u 用户
    • g 同组用户
    • o 其他用户
    • a 所有用户
    • + 添加权限
    • - 删除权限
    • r4代表,读权限
    • w2代表,写权限
    • x1代表,执行权限

    输出重定向

    • 标准输出重定向

      • > 将一个命令的标准输出重定向到指定文件
      • >> 将一个命令的标准输出重定向到指定文件
    • 标准错误输出重定向

      • 2> 将一个命令的标准"错误"输出重定向到指定文件
      • 2>> 将一个命令的标准"错误"输出重定向"追加"到指定文件
    • 重定向所有输出

      • &>
      • &>>

    操作带有特殊符号的路径的方法

    • 用两个双引号""把路径括起来
      • mkdir "a b"
      • rmdir "a b"

    相关文章

      网友评论

          本文标题:Linux基础

          本文链接:https://www.haomeiwen.com/subject/briolqtx.html