01-Linux常用基础命令

Linux常用基础命令

 1命令解析器

  1. shell就是命令解释器

  2. 常用的命令解析器:
    1. shell -- Bourne Shell
      1. /bin/sh
    2. bash -- Bourne Again Shell
      1. /bin/bash
  3. 当前系统所使用的shell
  4. echo $SHELL
  5. 当前系统下有哪些shell
  6. cat /etc/shells

命令解析器的作用:对用户输入到终端的命令进行解析,调用对应的执行程序。

  1. 2linux下的目录结构

    1. linux系统的目录结构

Linux系统的目录结构是一个倒立的树状结构, 根目录用/表示,对比windows目录结构理解linux的目录结构。

    1. linux下主要目录介绍
  1. /bin: binary,二进制文件,可执行程序,shell命令
    1. 如: ls , rm , mv, cp等常用命令
  2. /sbin: s是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
    1. 如ifconfig, halt, shutdown, reboot等系统命令
  3. /dev: device,在linux下一切皆文件
    1. 硬盘, 显卡, 显示器
    2. 字符设备文件、块设备文件
  1. 如: 在input目录下执行: sudo cat mouse0, 移动鼠标会显示有输入.
  1. /lib: linux运行的时候需要加载的一些动态库
  1. 如: libc.so、libpthread.so等
  1. /mnt: 手动的挂载目录, 如U盘等
  2. /media: 外设的自动挂载目录, 如光驱等。
  3. /root: linux的超级用户root的家目录
  4. /usr: unix system resource--类似于WINDOWS的programe files目录
    1. include目录里存放头文件, 如: stdio.h、stdlib.h、string.h、pthread.h
    2. games目录下的小游戏-如: sl小火车游戏
  5. /etc: 存放配置文件
    1. /etc/passwd
      1. man 5 passwd可以查看passwd文件的格式信息
    2. /etc/group
  1. man 5 group可以查看group文件的格式信息
  1. /etc/profile
      1. 系统的配置文件, 修改该文件会影响这个系统下面的所有的用户
  1. /opt: 安装第三方应用程序
  1. 比如安装oracle数据库可以在这个目录下
  1. /home: linux操作系统所有用户的家目录
    1. 用户家目录:(宿主目录或者主目录)
      1. /home/itcast
  2. /tmp: 存放临时文件

新建在这个目录下的文件会在系统重启后自动清除

下图是ls -l命令截图

    1. cd 命令

切换目录(change directory), 命令使用方式:cd + 路径

路径可以使用相对路径或者绝对路径

cd  /home/itcast   绝对路径(从根目录开始)

cd  ./itcast/test    相对路径(从当前工作目录开始)

  1. 切换到家目录(例如: /home/itcast)
    1. cd
    2. cd ~
    3. cd /home/itcast
    4. cd $HOME
  2. 临近两个目录直接切换
    1. cd -

如开始在: /home/itcast/test/course/day1/test目录下, 执行了cd命令切换到家目录下, 然后在执行cd -又回到了/home/itcast/test/course/day1/test下.

    1. which命令

显示命令所在的目录, 如which ls   which cp 

    1. mkdir命令

创建新目录, make directory

创建方式:mkdir目录名

如果创建多级目录需要添加参数 -p

例   在当前目录下创建目录:  mkdir mydir

在宿主目录下创建多级目录:  mkdir -p ~/test/hello/world/aa

    1. rm命令
  1. 删除文件: rm 文件名
  2. 删除目录: rm  -r 目录名
  3. 参数:
      1. -r:递归删除目录,删除目录必须添加此参数
      2. -i:提示用户是否删除文件或目录
      3. -f:强制删除
  4. 注意事项:

使用rm命令删除的文件或目录不会放入回收站中,数据不易恢复。

    1. cp 命令

命令使用方式:cp 源目录或文件 目标目录或文件

若有目录的拷贝需要使用-r参数

  1. cp 要拷贝的文件(file1) file(不存在)
    1. 创建file,将file1中的内容拷贝到file
  2. cp file1 file(存在)
    1. file1覆盖file
  3. cp file dir(存在)
    1. 拷贝file到dir目录
  4. cp -r dir(存在) dir1(存在)   
    1. 将dir目录拷贝到dir1目录中
    2. 包括dir目录
  5. cp -r dir(存在) dir1(不存在)
    1. 创建dir1
    2. 将dir中的内容拷贝到dir1中, 不包括dir目录
  6. cp 拷贝目录也可以用-a参数, 这样可以保留被拷贝的文件的一些属性信息
    1. mv命令
  1. 改名或者移动文件 mv file1 file2
  1. 改名
      1. mv file(存在) file1(不存在)
      2. mv dir(存在) dir1(不存在)
      3. mv file(存在) file2(存在)
        1. file文件覆盖file2文件,file改名为file2
  2. 移动(第二个参数一定是目录文件)
  1. mv file(文件) dir(存在目录)
  • file文件移动到dir中
  1. mv dir(目录存在) dir1(目录存在)
  • dir移动到dir1中, dir就会作为dir1的子目录而存在
    1. wc
  1. 显示文件行数, 字节数, 单词数
  1. wc -l file显示文件的总行数
  2. wc -c file显示文件的总字节数
  3. wc -w file显示文件的总单词数
  4. wc file 显示文件的总行数, 单词数和总字节数
  1. 3用户权限、用户、用户组

    1. 修改文件权限chmod

linux是通过权限对文件进行控制的, 通过使用chmod命令可以修改文件相关的权限.

  1. 文字设定法
  1. 命令:chmod [who] [+|-|=] [mode] 文件名
  1. 操作对象【who】
  • u -- 用户(user)
  • g -- 同组用户(group)
  • o -- 其他用户(other)
  • a -- 所用用户(all)【默认】
  1. 操作符【+-=】
  • + -- 添加权限
  • - -- 取消权限
  • = -- 赋予给定权限并取消其他权限
  1. 权限【mode】
  • r -- 读
  • w -- 写
  • x -- 执行
  1. 示例:给文件file.txt的所有者和所属组添加读写权限
  1. chmod ug+wr file.txt
  1. 数字设定法
  1. 命令:chmod [+|-|=][mode] 文件名
  1. 操作符【+-=】
  • + -- 添加权限
  • - -- 取消权限
  • = -- 赋予给定权限并取消其他权限 (默认为=)
  1. 数字表示的含义
  • 0 -- 没有权限(-)
  • 1 -- 执行权限(x)
  • 2 -- 写权限(w)
  • 4 -- 读权限(r)
  1. 例:给file.txt文件设置 rw-rw-r--
  1. chmod 664 file.txt

   注意点: 使用数字设定法, 一定要使用3位的8进制数: 如:066

  1. find命令
  1. 按文件名查询:使用参数 -name
    1. 命令:find  路径  -name   "文件名"
    2. 示例:find /home -name "*.c"
  2. 按文件类型查询:使用参数 -type
    1. 命令:find 路径 -type 类型
      1. 类型
        • 普通文件类型用f表示而不是 -
        • d -> 目录
        • l -> 符号链接
        • b -> 块设备文件
        • c -> 字符设备文件
        • s -> socket文件
        • p -> 管道文件
    2. 查找指定目录下的普通文件: find 路径 -type f
  3. 按文件大小查询:使用参数 -size
    1. 命令:find  路径  -size  范围
      1. 范围
        • 大于:+表示 --  +100k
        • 小于:-表示  --  -100k
        • 等于: 不需要添加符号 --  100k
      2. 大小
        • M 必须大写(10M)
        • k 必须小写(20k)
        • c 表示字节数
    2. 例子: 查询目录为家目录
      1. 等于100k的文件:  find ~/ -size 100k
      2. 大于100k的文件:  find ~/ -size +100k
      3. 大于50k, 小于100k的文件:  find ~/ -size +50k -size -100k
  4. 按文件日期
    1. 创建日期:-ctime -n/+ n
      • -n: n天以内
      • +n: n天以外
    2. 修改日期:-mtime -n/+n
    3. 访问日期:-atime -n/+n
  5. 按深度
    1. -maxdepth n(层数)
      1. 搜索n层以下的目录, 搜索的层数不超过n层
    2. -mindepth n(层数)
      1. 搜搜n层以上的目录,搜索的层数不能小于n层
  6. 高级查找
    1. 例:查找指定目录下所有目录,并列出目录中文件详细信息
  1. find ./ -type d -exec shell命令 {} \;

find ./ -type d -exec ls -l {} \;

  1. find ./ -type d -ok shell命令 {} \;

find ./ -type d -ok ls -l {} \;

    1. 注意: {}中间不能有空格
    2. ok比较安全, 特别是在执行rm删除文件的时候.
  1. find ./ -type d | xargs shell命令

find ./ -type d | xargs ls -l

  1. grep命令
  1. grep -r(有目录) “查找的内容” 搜索的路径
  1. -r参数, 若是目录, 则可以递归搜索
  2. -n参数可以显示该查找内容所在的行号
  3. -i参数可以忽略大小写进行查找
  4. -v参数不显示含有某字符串
  1. 搜索当前目录下包含hello world字符串的文件
  1. grep -r -n "hello world" ./     ------显示行号
  2. grep -r -i -n "HELLO world" ./  -------忽略大小小查找
  1. find和grep命令结合使用
  1. 先使用find命令查找文件, 然后使用grep命令查找哪些文件包含某个字符串
  1. find . -name "*.c" | xargs grep -n "main"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值