ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux指令学习

2022-07-16 11:31:07  阅读:142  来源: 互联网

标签:opt 文件 用户 学习 指令 linux home 权限 目录


建议配合目录使用

1.创建虚拟机

Linux情况下的分区设置

  • boot分区(引导分区)-> 1G
  • swap分区(交换分区)-> 内存大小 充当临时内存
  • 根分区 ->总空间减去前两个分区

网络连接的三种模式

  • 桥接模式,虚拟系统和外部系统一样分配一个独有的ip,容易造成ip冲突(ip地址不够分配)
  • NAT模式,网络地址转换模式,主机创建一个虚拟ip地址与虚拟系统的虚拟ip进行连接后,再通过主机的ip与外界连接,不会造成ip冲突,但是外界无法直接给虚拟系统直接发送信息
  • 主机模式,独立的系统,不和外界联系

2.常用命令

ifconfig - 查看linux的ip

关机和重启的命令
shutdown -h now  立刻关机
shutdown -h 1	 1分钟后关机
shutdown -r now	 现在重启
halt		关机
reboot		重启
sync		把内存的数据同步到磁盘

3.vi和vim

命令

使用步骤

  1. vim [文件名] 对该文件进行文本操作
  2. 进入文本页面后按i(或a)进行插入操作
  3. 按esc+:or/+q(具体的操作,q表示退出,wq表示保存退出,q!强制退出并不保存)

常用命令(一般模式下)

复制当前行  yy   粘贴用p  多行用5yy
删除当前行  dd   多行用6dd
查找   在命令模式下/+关键字
行号   :set nu 显示行号  :set nonu不显示行号
跳转到某一行   最后一行G  第一行gg  特定行 2+shift+g
撤销	u
image-20220709092931235

4.用户

4.1用户的登录和切换

切换用户,用户的登录和注销
su - 用户名   在某个用户登录基础上再登录某个用户
注:从权限高的用户转到权限低的用户无需输入密码;反之,需要重新登录
logout 退出在某个用户上登录的用户/退出系统
who am i  ->查看当前登录的是哪个用户

4.2用户的创建和删除

useradd 用户名  ->为新用户创建一个/home目录
passwd 用户名  ->为新用户设置密码
pwd ->显示当前用户所在的目录  
id 用户名 ->查询某个用户的用户信息
userdel 用户名 ->仅删除用户
userdel -r 用户名 ->删除用户的同时删除用户的home目录

4.3用户组

对多个用户的权限集中管理,如果创建用户时没有指定组,则会默认创建一个同名组

groupadd 组名  ->添加组 
groupdel 组名  ->删除组
useradd -g 用户名 组名 ->创建一个用户在指定的组中
usermod -g 组名 用户名 ->修改用户的组
usermod -d 目录 用户名 ->修改用户登录的默认目录

4.4用户和组的相关文件

这些都放在/etc配置目录下

  • /etc/passwd, 存放用户的各种配置信息,记录用户的各种信息
  • /etc/shadow, 口令的配置文件
  • /etc/group, 组的配置文件,记录组的信息

4.5运行级别

image-20220711184914749
init 0~6  切换到某个运行级别
systemctl get-default 获取到系统默认的运行级别
systemctl set-default 级别名  multi-user.target(多用户网络级别)/graphical.target(图形界面级别)

4.6root找回密码

在linux系统启动时,按e启用编辑模式

  1. 找到以““Linux16”开头内容所在的行数”,在行的最后面输入:init=/bin/sh
  2. 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式
  3. 接着,在光标闪烁的位置中输入:mount -o remount,rw /
  4. 在新的一行最后面输入:passwd, 完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即
  5. 接着,在鼠标闪烁的位置中(最后一行中)输入:touch /.autorelabel
  6. 继续在光标闪烁的位置中,输入:exec /sbin/init(注意:exec与 /后面有一个空格),完成后按键盘的回车键(Enter),等待系统自动修改密码

5.文件目录指令

绝对路径:以/开头,其中/代表根目录,表示从根目录开始查找

相对路径:直接以下一级文件名开头,其中..表示退回至上一级

cd  移动至某个目录
    ..   返回至上一级
    ~    返回值当前用户的home目录
pwd  查看当前所在位置的绝对路径

5.1创建、删除目录

mkdir 绝对位置  创建一级目录
mkdir -p 目录	 创建一个多级目录

rmdir 要删除的目录或文件 删除一个空目录
rm -rf 要删除的目录 要删除的目录里面有内容
rm -f 不再提示是否确认删除

5.2文件操作

touch和cp

touch a.txt  创建一个空文件

cp /home/aaa.txt /opt	将home下的aaa.txt文件拷贝到opt中
\cp -r /home/aaa/ /opt/  将home下面的aaa目录里拷贝到opt目录下

使用\cp进行强制覆盖,不用再去一个个确认

mv 文件1 文件2  当两个文件在同一个目录下时,进行的是重命名操作
			   如果不是同一个目录,则相当于剪切
			   如果文件2指明了文件类型,则相当于剪切并重命名

cat

使用cat查看重要的文件与more一起使用,more也可以单独使用,more+文件名

cat -n /etc/profile | more  输入之后可进行交互
enter - 下一行
space - 下一页
q - 退出
crtl+F - 上一屏
crtl+B - 下一屏
= - 显示当前的行号
:f - 显示文件名和行号

less

less动态加载所要查看的文件,适用于大文件的查看,用法less+文件名

space 向下翻页
pagedown 向下翻页
pageup 向上翻页
/或?字符串 n向下查找,N向上查找
q 退出

echo

  • echo $Path 查看环境变量
  • echo “hello” 打印hello

headtail

  • head 文件 查看文件的前10行
  • head -n 5 文件 查看 文件的前5行
  • tail则是显示文件尾
  • tail增加了一个动态监控某个文件的功能 tail -f 文件 实时追踪某个文件的所有更新

重定向输出

‘>’是删除目标路径文件上原有内容进行重写

‘>>’是在目标路径文件原有内容基础上追加内容,追加日期等

可与查看指令搭配使用

ls -l > 文件 将查看后的内容写到指定的文件中,进行的是覆盖写
ls -al >> 文件  将查看后的所有内容写到指定文件中,进行的是追加写
cat 文件1 > 文件2  将文件1中的内容覆盖写入文件2中的内容
echo "hello" >>文件  将hello写入某个文件
补:cal为日期指令,可显示本月日历
   date显示当前时间

ln

ln -s 连接文件路径 连接名

注:连接创建后可以看做是一个文件(快捷方式),调用该文件时会跳转到目标文件

使用rm即可删除软连接

date

date  默认显示所有
date +%Y	显示年
date +%m	月
date +%d	 日
date "+%Y-%m-%d %H:%M:%S"  显示所有

date -s “...”  设置系统的时间

注:间隔符可以改变,字母大小写必须按规范,可以搭配指定样式的时间

5.3目录查找

find

find 搜索范围 选项

-name 按文件名进行查找

-user 按用户进行查找

-size 按文件大小进行查找,k、M、G( +大于、-小于、=等于)

locate

查询速度非常快,利用了数据库建立索引,使用前需要执行updatedb指令

updatedb

locate + 文件

which

which +指令 用来查看该指令在那个目录下

grep

grep 选项 "查找内容" 源文件

注:-n显示查找内容的行号,-i忽略大小写,也可以以管道形式使用grep查找某个文件中的内容

cat a.txt | grep -n "yes" 
grep -n "yes" /home/a.txt

5.4文件压缩与解压

gzip和gunzip用于文件的压缩与解压,gzip将文件压缩成.gz文件,gunzip则只能解压.gz文件

zip和unzip

zip和unzip进行目录或文件压缩

zip使用选项:-r递归压缩

unzip选项:-d压缩到目标目录下

示例:

zip -r myhome.zip /home/  将home目录压缩到myhome.zip的压缩包中
unzip -d /opt/tmp/ /home/myhome.zip  将myhome.zip解压到opt的tmp目录下

tar

打包指令,打包是说可以指定多个文件,将这些文件先打包,再压缩

选项 功能
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解压.tar文件

压缩和解压

tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
打包并压缩

tar -zxvf /home/pc.tar.gz -C /opt/tmp
将文件解压到tmp中,指定路径进行解压,如不使用-C则默认为当前目录

6、组管理和权限管理

所有的用户都必须至少处于一个组中

创建文件的用户成为文件的所有者,该用户所在的组成为该文件的所在组,其他的组称为其他组

文件和目录都可修改所有者和所在组

6.1权限管理的一些命令

ls -ahl 查看文件的所有者

修改所在组和所有者

chown 目标用户 文件名  ->修改文件的所有者,修改后文件的所在组不发生改变

chown newowner:newgroup 文件或目录   ->同时修改所有者和所在组

chgrp 目标组名 文件名  ->修改文件所在组,修改后文件所有者不变

注:可以使用-R递归的修改其子目录的所有者和所在组

修改权限-chmod

第一种方式,使用+-=赋值
u代表所有者、g代表所在组、o代表其他组、a代表所有人(u+g+o)

chmod u=rwx,g=rx,o=x 文件或目录  ->赋予权限
chmod u-w,g+w,o+r 文件或目录  ->对u减少w的权限、对g增加w的权限、对o增加r的权限

第二种方式,通过数字变更权限
r为4,w为2,x为1

chmod 755 文件或目录  ->变更后的权限为u-rwx、g-rx、o-rx

6.2文件信息说明

6.3rwx

  • 对于文件来说
    • r代表可读read,查看文件
    • w代表可写write,可以修改文件,但是不能删除文件,删除文件需要有该文件的目录的写的权限
    • x代表可执行execution,可以执行文件
  • 对于目录来说
    • r代表可以查看目录的内容,显示目录中的信息,即可以使用ls进行查看
    • w代表可以对目录中的内容进行修改,可以创建、删除、重命名目录
    • x代表可以进入该目录,即cd 该目录,仅能打开指定的授权文件或目录,不能打开目录中未授权的文件

注:增加文件的权限时,一定要注意改文件所在的目录的权限是否分配,如果无法进入目录,即使将全部权限给该文件,不起任何作用

6.4文件的权限信息说明

即文件信息的前十位

  • 第一列表示文件的类型(l为链接、d是目录、c是字符设备文件-鼠标等、b是块设备-硬盘等、-为普通文件)
  • 第二列表示文件的所有者的权限
  • 第三列表示文件的所在组的权限,即同一所在组的其他用户的权限
  • 第四列表示其他组的权限

7、定时任务调度

7.1crond任务调度

定时执行某个指令或脚本(多个指令构成的.sh文件),如数据备份等

crondtab 选项

-e 编辑定时任务

-l 显示当前的定时任务

-r 移除当前用户的所有定时任务

service crond restart 重启任务调度

定时执行某个指令
crondtab -e ;进入编辑模式后编写定时任务
*/1 * * * * ls -l /etc/ > /tmp/to.txt

定时执行某个脚本
1)编写.sh文件
2)给.sh文件执行的权限
3)使用crondtab -e 编写定时任务 */1 * * * * /home/my.sh

关于占位符的说明

自定义时间的说明

7.2at定时任务

单次执行定时任务,使用时需要确保atd进程开启,可以使用ps ef | grep atd 来查看是否开启

atd守护进程每个60s检查一次作业队列,直至队列中没有作业为止,作业执行后移出队列

at 时间 选项

atq 查看当前执行的定时任务

atrm+编号 删除已经设置好的任务

ctrl+d输两次,结束at命令的输入

时间格式

8、磁盘分区及挂载

将硬盘中的分区挂载到文件系统的目录上。

linux硬盘分为IDE硬盘和SCSI硬盘,前者标识符为hdx**后者标识符为sdx,其中h对应于IDEs对应于SCSI,x是硬盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),~代表分区**(前四个分区为主分区或拓展分区,从第五个开始为逻辑分区)

lsblk ->查看所有设备挂载情况,-f显示更详细的信息

8.1如何给虚拟机增加一块硬盘

步骤:

  1. 给虚拟机添加一块硬盘;设置->添加->硬盘,重启后lsblk命令查看新磁盘

  2. 分区

    1. fdisk /dev/sdb
    2. m显示命令列表:n新增分区(new)、d删除分区、w写入并退出

    注:此时新建的分区尚未格式化(无文件系统),未分配对应的UUID,无法使用

    UUID与分区名相对应,二者可以等价使用

  3. 格式化 mkfs -t ext4 /dev/sdb1

  4. 临时挂载 ,在命令行使用mount、umount进行挂载和卸载

    • 例:mount /dev/sdb1 /newdisk
    • mount 设备名 挂载目标目录名
    • umount 设备名或目录名
  5. 永久挂载

    • 将挂载信息添加至/etc/fstab,操作系统从此处读取挂载信息
    • 添加完后执行mount -a

8.2磁盘实用指令

查询磁盘使用情况,一般大于80%需要扩充
df -h   ->查询磁盘的整体使用情况

du -h 目标目录  ->查询指定目录的磁盘使用情况
du -hac /opt --max-depth=1	->h表示显示单位,a代表显示所有(包括文件在内)
							c进行一个汇总,--max-depth=n表示显示的深度

统计文件或目录的个数
ls -l /opt | grep "^-" | wc -l 统计opt目录下的文件个数(不包括子文件)   wc -l用来统计数量
ls -l /opt | grep "^d" | wc -l 统计opt目录下的目录个数   -和d是文件信息的第一列,指明文件类型

ls -lR /opt | grep "^-" | wc -l 统计opt目录下的文件个数(包括子文件)   加上R表示递归的处理

显示树结构
如果没有tree指令,需要先执行yum install tree来安装tree指令
tree 目录  ->显示该目录的树结构

本文是学习韩顺平老师linux入门做的笔记,参考视频https://www.bilibili.com/video/BV1Sv411r7vd?spm_id_from=333.337.search-card.all.click目前还在学习中,会持续更新,如有不对的地方,还请多多指正

标签:opt,文件,用户,学习,指令,linux,home,权限,目录
来源: https://www.cnblogs.com/Gw-CodingWorld/p/16483753.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有