Linux 系统基本操作

1.认识Linux系统

Linux不同于Windows下有C盘、D盘等等,它呈树状结构,从根目录“ /”开始。

  • 目录:相当于文件夹,可以层层进入
  • 文件:有三个时间(mtime;ctime;atime)
    — 修改时间:mtime,当文件当内容修改时,就会更新这个时间
    — 状态时间:ctime,当文件当“状态status”改变时,就会更新这个时间,举例:更改了权限与属性,就会更新这个时间
    — 存取时间:atime,当取用文件内容时,就会跟新存取时间。例如cat去读取文件,就会更新atime

2.Linux基本操作

2.1 认识Linux命令

  • 命令一般有两部分组成:命令名称+命令参数
  • 命令和参数之间用 空格 隔开(否则无效啊)
  • 有些命令必须要跟参数,有些不需要

2.2 Linux命令 之 目录

  • 显示当前所在目录的绝对路径 pwd
    — 绝对路径:从根目录起始的路径
    — 相对路径:从当前路径起始的路径
  • 切换当前目录 cd
    — 返回用户home目录 cd or cd ~(不要忘记命令与参数“~”间的空格)
    — 返回上次访问的目录 cd -
    — 进入指定目录 cd [directory name] (绝对路径和相对路径都可以)
    — 进入上层路径 cd ..(当前路径 .
  • 创建目录 mkdir
    — 创建多级目录 mkdir -p [directory name]
  • 删除目录 rmdir(只能删除空目录)
    — 递归删除目录 rmdir -p [directory name]
    — 删除非空目录 rm -r dir
  • 列出目录下文件清单 ls
    — 显示所有的子目录和文件,包括隐藏文件 ls -a
    — 以长格式显示文件的详细信息 ls -l
    — 按修改时间排序 ls -t
    — 递归的显示各个子目录中的文件 ls -R

2.3 Linux命令 之 文件

  • 查看、创建、合并文件 cat
    — 查看文件内容 cat [filename]
    — 创建文件 cat > [filename],后面输入内容,control+c 终止输入
    — 追加文件 cat >> [filename],后面输入内容,control+c 终止输入
    — 合并文件file1、file2为文件file3 cat file1 file2 > file3
  • 创建文件+修改文件时间 touch
    — 创建文件 touch [filename]
    — 修改 atime touch -a [filename]
    — 修改 mtime touch -m [filename]
    — 更新文件的3个时间为当前时间:touch [filename](file已经存在)
  • 查看文件 less or more
    — 查看大文件 less
    — 一行行打印 more
  • 查看一个文件的前n行或者后n行 head or tail
    — 查看前 n 行 head -n filename
    — 查看后 n 行 tail -n filename
  • 统计文件的行数、字符数、字节数 wc
    — 统计行数 wc -l (常用)
    — 统计字节数 wc -c
    — 统计字数 wc -w
    — 统计行数、字节数、字数 wc -lcw
  • 复制文件或者目录 cp
    cp [directory name] [source] [destination]
    — 递归复制文件夹下的文件和目录 cp -r
  • 移动文件夹、或者文件重命名 mv
    — 实质:拷贝后删除
  • 删除文件或者目录 rm
    — 递归删除目录和文件 rm -r
    — 强制删除 rm -f
    — 强制删除递归目录和文件 rm -rf (删除能力强大,谨慎!)
  • 链接文件 ln
    — 建立软链接ln -s(相当于构建快捷方式)
    它的功能是为某一个文件在另外一个位置建立一个同步的链接

2.4 其他操作命令

  • 打包、压缩、解压缩文件和目录 tar
    — gz压缩:tar -zcvf [filename.tar.gz] [filename]
    — bz2压缩: tar -jcvf [filename.tar.bz2] [filename]
    — gz格式 解压缩:tar -zxvf [filename.tar.gz]
    — bz2格式 解压缩: tar -jxvf[filename.tar.bz2]
  • 查找、检索 grep
    — 查找含有[option]的行 grep [option] [filename]
  • 文本处理 awk or sed or cut
    — sed 替换内容 sed 'ns/word1/word2/g [filename](s-替换;g-本行匹配到的内容全部替换。意义-文件第n行的word1全部替换为word2;并不修改源文件)
    — sed 删除行 sed 'nd' [filename] (删除第n行)
  • 文本排序 sort
    — 工作原理:将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按照ASCII码值进行比较,最后将他们按输出
    — 升序输出:sort [filename]
    — 降序输出:sort -r [filename]
    — 以数值来排序:sort -n [filename]
    — 指定列数排序:sort -n -k 2 [filename]-k加数字指定列数)
    — 去除重复行再输出 sort -u [filename]
    注意:sort 习惯将数字按字符来排序,会出现10小于2的情况
  • 去重复 uniq
    去除排序过程中的重复行,经常和sort组合在一起用(单独使用时-只能删除连续的重复行)
    — 文件排序并去重 cat [filename] | sort | uniq
    — 文件排序并去重+统计重复次数 sort [filename] | uniq -c-c进行计数,在行首位置显示重复的次数)
    — 文件排序并去重 sort [filename] | uniq -u (仅显示不重复的行)
    — 文件排序并去重 sort [filename] | uniq -c -i(-i 忽略大小写字符的不同)
  • 补充:管道操作符‘|
    — 应用:它可以将前面一个命令的标准输出(stdout)传递给后面一个命令,作为后面命令的标准输入(stdin)。(⚠️它仅能传递标准输出,而不能传递错误输出 stderr 给后面的命令。若要传递错误输出stderr,可以使用重定向指令实现 command1 2>&1 |command2

2.5 系统自带的帮助信息

  • man <command>
  • <command> -h
  • <command> --help
  • 搜索引擎求助

3.了解Linux 权限

Linux的权限结构由三大类权限组成:文件拥有者、拥有者所在的组、其他组权限。
每一类都有三种权限组成:只读(r=4)、可写(w=2)、执行(x=1)

  • 修改权限 eg: chomd 755 [filename]
  • 递归变更权限 eg:chmod -R 755 [filename]

4.软件安装

  • 大部分安装步骤(软件 ab 为例):
$ tar -zxvf ab.tar.gz 或者  tar -jxvf ab.tar.bz2 #解压文件
$ cd ab #进入文件夹
$ ./configure [-prefix=] #配置安装环境
$ make #安装
$ make install
  • 小部分安装
    使用cmakemake
  • 注意事项
    — 安装前最好了解 README or INSTALL 两个文件
    — 求助社区论坛或者作者

5.环境变量

定义:指定操作系统运行环境的一些参数
在linux里,我们一般会指定PATH环境变量,以使我们的程序能够更好的运行

5.1 设置环境变量:

  • home目录里,存在两个文件 .bashrc.bash_profile
  • 通过更改这两个文件内容可以添加环境变量(在登陆系统时自动加载应用)
  • 更改文件后,使用 source ~/.bashrc 命令使得环境变量刷新

5.2 环境变量的读取顺序

  • 访问:~/.bash_profile ->~/.bashrc -> /etc/bashrc
  • 调用:/etc/bashrc -> ~/.bashrc -> ~ /.bash_profile

5.3 对命令设置别名

eg: 通过catch命令实现 [filename] 的排序和去重
(1).bashrc 文档中添加 alias catch='cat [filename] | sort | uniq' ;
(2)更改文件后,使用 source ~/.bashrc 命令使得环境变量刷新

    原文作者:Panda_喵
    原文地址: https://www.jianshu.com/p/1f9943321a56
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞