Linux学习笔记

(一)Linux简介

Linux是一款免费、开源的操作系统,安全、稳定,且处理高并发能力很强。

(二)目录结构

目录描述
/根目录
/root系统管理员root的宿主目录
/bin用于存储最常用的命令
/boot用于存放启动Linux时使用的一些核心文件
/dev把所有硬件以文件形式存储的目录
/etc用于储存系统配置的文件
/home用于存储普通用户的所有数据
/lib用于存放系统的库文件
/lost+found一般为空,当系统非法关机后,存放一些文件
/media挂载一些Linux识别的设备,如U盘、光驱等
/mnt用于临时挂载文件系统
/opt用于存放额外安装的软件
/proc虚拟目录,此目录的数据都存放在内存中
/sbin用于存放系统管理员使用的系统管理程序
/selinux安全子系统
/srv用于存放一些服务启动后需要访问的数据
/sys用于存储硬件设备的驱动程序信息
/tmp用于存放一些临时文件
/usr用于存放系统用户工具和程序
/var用于存放系统执行过程中经常变化的文件

(三)vi和vim编辑器

在这里插入图片描述

指令描述
yy复制当前行
nyyn为数字,复制当前向下n行
p粘贴
dd删除当前行
nddn为数字,删除当前行向下n行
:set nu设置行号
:set nonu取消行号
u撤销
/关键字查找关键字,输入n查找下一个
gg光标移动到第一行
G光标移动到最后一行
n,shift+g将光标移动到第n行
i在光标处插入字符
I光标所在行的行首插入字符
a光标所在字符的下一个字符插入
A光标所在行的行尾插入字符
o光标所在行的下一行插入字符
O光标所在行的上一行插入字符
s删除光标所在字符并插入字符
S删除光标所在行并插入字符
:q退出
:wq保存并退出
:q!强制退出不保存
:wq!强制保存退出(需要权限)

(四)关机&重启命令

命令描述
shutdown -h now立即关机
shutdown -h 11分钟后关机
shutdown -r now重启
halt关机
reboot重启
sync同步内存数据到磁盘

(五)用户管理

命令描述
useradd 用户名添加用户
useradd -d 目录 用户名创建用户并指定其家目录
passwd 用户名给用户指定/修改密码
userdel 用户名删除用户
userdel -r 用户名删除用户及其家目录
id 用户名查询用户信息
su - 用户名切换用户
exit返回原来用户
whoami查看当前用户
groupadd 组名添加组
groupdel 组名删除组名
useradd -g 组名 用户名增加用户到指定组
usermod -g 组名 用户名修改用户组

(六)运行级别

0:关机
1:单用户
2:多用户状态无网络服务
3:多用户状态有网络服务
4:系统未使用,保留
5:图形界面
6:重启

切换运行级别:init[n]

(七)常用命令

(1)man & help

  • man(获取帮助信息)
    用法: man [命令或配置文件]
  • help(帮助命令)
    用法: help [命令]

(2)pwd & ls & cd

  • pwd(显示当前工作目录的绝对路径)
    用法: pwd
  • ls(查看当前目录)
    用法: ls [选项] [目录或文件]
    选项:
      -a: 显示当前目录下的所有目录及文件(包括隐藏的)
      -l: 以列表方式显示
  • cd(切换到指定目录)
    用法: cd [参数]
    常用:
      cd ~或cd: 回到家目录
      cd ..: 回到上一级目录

(3)mkdir & rmdir

  • mkdir(创建目录)
    用法: mkdir [选项] 目录
    选项:
      -p: 创建多级目录
  • rmdir(删除空目录)
    用法: rmdir [选项] 目录
    选项:
      -p: 当子目录被删除后使它成为空目录的话,则一并删除

(4)rm & mv

  • rm(删除文件或目录)
    用法: rm [选项] 文件或目录
    选项:
      -r: 递归删除整个文件夹
      -f: 强制删除(需结合-r使用,即-rf)
  • mv(移动文件和目录或重命名)
    用法:
      mv 旧文件名 新文件名
      mv 文件名 文件夹

(5)touch & cp

  • touch(创建空文件)
    用法: touch 文件
  • cp(拷贝文件到指定目录)
    用法: cp[选项] source dest
    选项:
      -r: 递归复制整个文件夹
    另:
      \cp: 强制覆盖

(6)cat & more & less

  • cat(查看文件内容)
    用法: cat [选项] 文件
    选项:
      -n: 显示行号
  • more(以全屏方式按页显示文件内容)
    用法: more 文件
    操作:
      空格键: 向下滚动一屏
      Ctrl+F: 向下滚动一屏
      Ctrl+B: 返回上一屏
      Enter: 向下翻一行
      =: 输出当前行号
      :f: 输出文件名和当前行号
      q: 退出more
  • less(分屏查看文件内容)
    用法: less 文件
    操作:
      空格键: 向下滚动一屏
      Ctrl+F: 向下滚动一屏
      Ctrl+B: 返回上一屏
      Enter: 向下翻一行
      /字符串: 向下搜索字符串;n: 向下查找; N: 向上查找
      ?字符串: 向上搜索字符串;n: 向上查找; N: 向下查找
      q: 退出less

(7)echo & head & tail

  • echo(输出内容到控制台)
    用法: echo [选项] [输出内容]
    举例:
      echo $PATH: 输出环境变量
      echo “hello”: 输出hello
  • head(显示文件开头内容(默认前10行))
    用法:
      head 文件: 查看文件前10行
      head -n 5 文件: 查看文件前5行
  • tail(显示文件结尾内容(默认后10行))
    用法:
      tail 文件: 查看文件末尾后10行
      tail -n 5 文件: 查看文件末尾后5行
      tail -f 文件: 实时追踪该文档的更新

(8)> & >>

  • >(输出重定向)
    用法:
      ls -l > 文件: 将列表内容覆盖到文件中
      cat 文件1 > 文件2: 将文件1的内容覆盖到文件2中
  • >>(追加)
    用法:
      ls -l >> 文件: 将列表内容追加到文件末尾
      echo “内容” >> 文件: 将内容追加到文件末尾

(9)ln & history

  • ln(创建软链接)
    用法: ln -s [原文件或目录] [软链接名]
    另: rm -rf 软链接名: 删除软链接
  • history(查看历史命令)
    用法: history: 查看已执行过的历史命令
    常用:
      history n: 查看最近使用的n个指令
      !n: 执行历史编号为n的命令

(10)date & cal

  • date(显示当前日期和设置日期)
    用法:
      date: 显示当前时间
      date -s 字符串时间: 设置日期
    常用:
      date +%Y: 显示当前年份
      date +%m: 显示当前月份
      date +%d: 显示当前是哪一天
      date “+%Y-%m-%d %H:%M:%S: 显示年月日时分秒”
  • cal(查看日历)
    用法: cal [选项] [月份] [年份]
    选项:
      -1: 显示一个月的日历
      -3: 显示系统前一个月,当前月,下一个月的日历
      -s: 显示星期天为第一天的日历(默认)
      -m: 显示星期一为第一天的日历
    常用:
      cal: 查询当月日历
      cal 2020: 查询2020年日历

(11)find & locate & grep和管道符 |

  • find(递归遍历指定目录的各个子目录)
    用法: find [目录路径] [选项]
    选项:
      -name filename: 查找名为filename的文件
      -user username: 查找属于指定用户的所有文件
      -size [±]n: 按照指定文件大小查找文件
  • locate(快速定位文件路径)
    用法: locate 文件
    注: locate是基于数据库进行查询,第一次使用前,需先使用updatedb创建locate数据库
  • grep和管道符号(过滤查找,将前一个命令的处理结果传递给后面的命令处理)
    用法: grep [选项] 查找内容 文件
    选项:
      -n: 显示匹配行及行号
      -i: 忽略字母大小写
    常用:
      cat 文件名 | grep -n 内容

(12)压缩和解压缩

  • gzip/gunzip
    用法:
      gzip 文件
      gunzip 文件.gz
  • zip/unzip
    用法:
      zip [选项] xxx.zip 目标文件或目录
      unzip [选项] xxx.zip
    zip选项:
      -r: 递归压缩(压缩目录)
    unzip选项:
      -d 目录: 指定解压后文件的存放目录
  • tar(打包成 .tar.gz文件)
    用法: tar [选项] xxx.tar.gz 打包的内容
    选项:
      -c: 建立压缩文档
      -v: 显示过程
      -x: 从备份文件中还原文件
      -z: 通过gzip指令处理备份文件
      -f: 指定备份文件
    常用:
      tar -zcvf xxx.tar.gz 文件或目录: 压缩
      tar -zxvf xxx.tar.gz: 解压到当前目录
      tar -zxvf xxx.tar.gz -C targetFile: 解压到指定目录

(八)文件 用户 组

  • 文件 用户
    ls -ahl————查看文件的所有者
    chown 用户名 文件名————修改文件所有者
    chown 用户名:组名 文件名————改变用户的所有者和所在组
    chown -R 用户名 目录————改变目录下所有子目录和子文件所有者
  • 文件 组
    ls -ahl————查看文件所在组
    chgrp 组名 文件名————修改文件所在组
  • 用户 组
    usermod -g 组名 用户名————改变用户所在组
    usermod -d 目录名 用户名————改变改用户登录的初始目录

(九)权限

在这里插入图片描述

(1)rwx权限解析

对于文件:
  r: 可以读取
  w: 可以修改(未必能删除,需要拥有对该文件所在的目录的写权限)
  x: 可以被执行
对于目录:
  r: 可以读取
  w: 可以修改(重命名目录,在目录内创建,删除)
  x: 可以进入该目录

(2)修改权限

方法一:
  u:所有者 g:所在组 o:其他人 a:所有人
  1)chmod u=rwx,g=rx,o=r 文件目录名
  2)chmod g+w 文件目录名
  3)chmod o-x 文件目录名
方法二:
  r=4 w=2 x=1
  chmod 751 文件目录名

(十)crond任务调度

用法: crontab [选项]
选项:
  -e: 编辑crontab定时任务
  -l: 查询crontab任务
  -r: 删除当前用户所有的crontab任务
常用:
  crontab -r: 终止任务调度
  crontab -l: 列出当前任务调度
  service crond restart: 重启任务调度
例子:
  1) crontab -e
  2) */1 * * * * ls -l /etc >> /home/hello.txt(每隔一分钟执行)

含义范围
第一个"*"一小时的第几分钟0-59
第二个"*"一天的第几个小时0-23
第三个"*"一个月的第几天1-31
第四个"*"一年的第几个月1-12
第五个"*"一周的星期几0-7(0和7都代表星期日)
特殊符号含义
*代表任何时间。如:第一个"*"代表每小时每分钟执行一次
,代表不连续时间。如:“0 6,12,18 * * * 命令”,代表每天6点0分,12点0分,18点0分执行一次
-代表连续的时间。如:“0 6 * * 1-6 命令”,代表周一到周六6点0分执行1次
*/n代表每隔多久执行一次。如:"*/5 * * * * 命令",代表每隔5分钟执行一次
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值