美文网首页
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