Linux 学习记录 一(安装、基本文件操作).

简介:  Linux distributions主要分为两大系统,一种是RPM方式安装软件的系统,包括Red Hat,Fedora,SuSE等都是这类;一种则是使用Debian的dpkg方式安装软件的系统,包括Debian、Ubuntu、B2D等等。
   
 Linux distributions主要分为两大系统,一种是RPM方式安装软件的系统,包括Red Hat,Fedora,SuSE等都是这类;一种则是使用Debian的dpkg方式安装软件的系统,包括Debian、Ubuntu、B2D等等。

底下列出几个主要的Linux distributions 发行者地址:

备注:如果是个人学习使用的话,建议使用社群单位发行版的即可。如果是做服务器使用,推荐使用商业版,比较稳定,比较少bug。

1、虚拟机vmware下载地址:
 
远程文件使用的是:Xshell 和 Xftp
 
2、系统命令:
        ifconfig eth0 192.168.109.109 临时修改IP地址(临时修改,重启网卡或服务器后又会还原)
arch 显示机器的处理器架构(1) 
uname -m 显示机器的处理器架构(2) 
uname -r 显示正在使用的内核版本 
dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) 
hdparm -i /dev/hda 罗列一个磁盘的架构特性 
hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 
cat /proc/cpuinfo 显示CPU info的信息 
cat /proc/interrupts 显示中断 
cat /proc/meminfo 校验内存使用 
cat /proc/swaps 显示哪些swap被使用 
cat /proc/version 显示内核的版本 
cat /proc/net/dev 显示网络适配器及统计 
cat /proc/mounts 显示已加载的文件系统 
lspci -tv 罗列 PCI 设备 
lsusb -tv 显示 USB 设备 
date 显示系统日期 
cal 2007 显示2007年的日历表 
date 041217002007.00 设置日期和时间 - 月日时分年.秒 
clock -w 将时间修改保存到 BIOS 
uname -a 查看Linux内核版本命令
lsb_release -a 查看Linux系统版本的命令

grep 'physical id' /proc/cpuinfo | sort -u : 查看CPU物理个数
grep 'core id' /proc/cpuinfo | sort -u | wc -l :查看CPU的核数
grep 'processor' /proc/cpuinfo | sort -u | wc -l :查看CPU的线程数

 
3、要让IP地址永久生效: vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

4、开启SSH服务,SSH为Secure Shell 的缩写,由IETF的网络工作小组做制定。建立在应用层和传输层基础上的安全协议。
  • 查看SSH是否安装:rpm -qa | grep ssh
  • 安装SSH:yum install openssh-server
  • 启动服务:service sshd start
  • 停止服务:service sshd stop
  • 重启SSH服务:service sshd restart
  • 查看是否启动22端口:netstat -antulp | grep ssh
  • 设置SSH 服务为开机启动:chkconfig sshd on
 
 
5、Linux名字的由来,是当时作者将初版的Linux发布在网上,供别人下载完善,而那个核心文件夹就叫Linux,就这么叫着了。而为什么Linux的吉祥物是一只企鹅呢?是因为当时大家要发行稳定版的Linux的时候询问作者将什么动物作为吉祥物,而作者对小时候在动物园被企鹅咬了一口印象深刻,竟然就选择将企鹅作为Linux的吉祥物了。Linux是一套免费使用和自由传播的的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统;运行主要的UNIX工具软件、应用程序和网络协议。
 
6、Linux发行版简单点就是将Linux内核与应用软件做一个打包。
 
7、Linux系统有7个运行级别(runlevel):
  • 运行级别0:系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
  • 运行级别1:单用户工作状态,root权限,用于系统维护,禁止远程登陆
  • 运行级别2:多用户状态(没有NFS)
  • 运行级别3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
  • 运行级别4:系统未使用,保留
  • 运行级别5:X11控制台,登陆后进入图形GUI模式
  • 运行级别6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
 
8、Linux关机
  • sync 将数据由内存同步到硬盘中
  • shutdown 关机指令
  • shutdown -h 10 '系统将在10分钟后关机' 系统将在10分钟后关机,并子页面上显示
  • shutdown -h now或者halt 立马关闭系统
  • shutdown -h 20:25
  • shutdown -r now或者reboot 系统立马重启
 
9、目录结构
/bin 常用命令目录
/dev:连接外部设备的目录
/boot、/etc:系统中的 配置文件
/usr :相当于windows中的program files
/root 超级管理员操作目录
/bin,/sbin,/user/bin,/user/sbin:系统预设的执行文件的放置目录
/var 存放日志的目录
 
/代表根目录
./代表当前的目录
../代表上一层目录
 
 
10、Linux文件属性
我们可以用 ll 或者ls -l 来显示一个文件的属性以及文件所属的用户和组
    • d 表示目录
    • - 表示文件
    • / 表示链接文档
    • b 表示为装置文件中可供储存的接口设备(可随机存取装置)(不理解)
    • c 表示为装置文件里面的串行端口设备 (键盘、鼠标等)
接下来的字符以3个为一组,rwx的组合,r代表read 、w代表write、x代表execute
9位文件属性,第0位确定文件类型
第1-3位确定该文件的所有者
第4-5位确定该文件的所有者的同组用户
第7-9位确定其他用户的权限
 
同时,Linux系统中,用户是按组分类的,一个用户属于一个或者多个组。 对于root用户来说,一般情况下,文件的权限对其不起作用
    • 更改文件属组 : chgrp [-R] 属组名 -R 代表目录下的所有文件的属组都会修改
    • 更改文件属主: chown [-R] 属主名 文件名 chown [-R] 属主名:属组名 文件名
    • 更改文件属性 chmod 777 文件
除了普通的r w x的文件权限外,Linux操作系统还有 t / s两种
当 s 这个标识符出现在 own、group 时,表示执行者在执行二进制文件时,获得该own、Group的权限支持。当然,如果执行者没有x的权限,那这个s或者t也就变成了空权限。t 只对目录生效,表示只有该目录的拥有者以及root 可以删除该目录
  • 4 为 SUID
  • 2 为 SGID
  • 1 为 SBIT
加入具有SUID的权限 chmod 4755 test
加入具有SUID/SGID的权限 chmod 6755 test
加入SBIT的权限 chmod 1755 test
具有空的 SUID/SGID权限 chmod 7666 test
 
11、基础目录命令
  • 列出目录: ls [-a/-d/-l] 目录名称 不填目录名称表示列出当前目录,-a 表示全部文件,包括隐藏目录、-d 表示仅列出目录本身、-l 长数据串列出(这个也能写成ll)
  • 切换目录:cd [相对路径或者绝对路径]
  • 显示当前所在的目录 :pwd  Print Working Directory
  • 显示当前的目录连接档 :pwd -P
  • 创建目录 :mkdir 目录名称
  • 同时创建两个目录: mkdir dir1 dir2
  • 创建一个目录树: mkdir -p /tmp/dir1/dir2
  • 删除空[级联删除]目录: rmdir [-p] 目录名称
  • 复制文件或目录 :cp  source(源文件) destination(目标文件)
  • 复制文件时,若目标文件已经存在则询问是否覆盖:cp -i  source(源文件) destination(目标文件)
  • 连同文件的属性(权限、用户、时间)一起复制过去,而非使用默认属性(备份常用):cp -p  source(源文件) destination(目标文件)
  • 建立一个快捷方式: cp -s 源文件 快捷方式名称
  • 强制移除文件或目录不管是否是空白目录: rm -rf 目录名称
  • 重命名文件夹(强制/询问/更新):mv [-fir] 源文件名 新文件名
  • 由第一行/最后一行开始显示文件内容: cat /tac 目录名称
  • 显示行号: nl
  • 创建空文件 tough 1.txt(默认更新三个时间) 或者 vim 1.txt
  • 系统环境变量 :echo $PATH
  • 显示文件前面几行: head [-n number] 文件
  • 不包括后面一百行: head -n -100 文件
  • 取出11到20行: head -n 20 文件 | tail -n 10 (管线的意思是前面所输出的信息交由后面继续使用)
  • 目前用户在建立文件或者文件夹时的默认权限值 umask / umask -S
  • 建立文件时:(-rw-rw-rw-)-(-----w--w-)= -rw-r--r--
  • 建立的目录时:(drwxrwxrwx)-(d----w--w-)=drwxr-xr-x
  • 修改umask: umask 002
  • locate: 是根据Linux 下的数据库文件 /var/lib/mlocate来查询,该数据库文件一天更新一次,可能你查询的内容因为未及时更新查找不到,可以手动更新数据库
  • updatedb :手动更新数据库
  • find / -name file1 :从 '/' 开始进入根文件系统搜索文件和目录 
  • find / -user user1 :搜索属于用户 'user1' 的文件和目录 
  • find /home/user1 -name \*.bin: 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
  • find /usr/bin -type f -atime +100 :搜索在过去100天内未被使用过的执行文件 
  • find /usr/bin -type f -mtime -10 :搜索在10天内被创建或者修改过的文件 
  • find / -name \*.rpm -exec chmod 755 '{}' \: 搜索以 '.rpm' 结尾的文件并定义其权限 
  • find / -xdev -name \*.rpm 搜索以 '.rpm' :结尾的文件,忽略光驱、捷盘等可移动设备 
  • locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令 

 

11、系统用户账号的管理

  • 添加新的账号 :useradd 选项 用户名

useradd -d /usr/jomoo -m -g jomoo -G root jomoo

-c 添加一段注释性描述
-d 指定用户主目录,如果该用户目录不存在,则使用-m选项,创建主目录
-g 指定用户组
-G 指定所属的附加组
-s 指定登录的Shell
-u 指定用户的用户号
  • 删除账号:userdel [-r] 用户名
-r 作用是把用户的主目录一起删除
  • 修改账号:usermod 选项 用户名
修改账号和添加账号相似,选项也相同
  • 管理密码(刚创建的账号因为没有密码,被系统锁定,无法使用,必须为其制定口令后方可使用):

passwd 选项 用户名

-l 锁定口令、即禁用账号
-u 口令解锁
-d 使账号无口令
-f 强迫用户下次登录时修改口令

 root 用户可以管理所有成员的命令,格式如上,个人账户仅可以修改自己的密码,直接输入passwd即可。个人账号修改密码的时候需要自己原密码,而root账户不需要知道原来密码

  • 切换用户:su 用户名  如果用户名不填的话默认root,root转普通用户不需要输入密码,普通用户转root需要输入密码 ,如果需要图形界面的支持需要在切换用户前执行 xhost +
12、系统用户组的管理(用户组可以在/etc/group文件中查看)
  • 新增一个用户组: groupadd 选项 用户组
-g 指定新用户组的组标识号
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
  • 删除一个已有的用户组: groupdel 用户组
  • 修改用户组的属性 groupmod 选项 用户组
-g 指定新用户组的组标识号
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
-n 重命名用户组
groupmod -n group2 group3(将group3改名为group2)
  • 切换用户组 newgrp root
  • /etc/passwd 记录着用户的一些基本属性
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell

用户名:大小写字母 、/、数字组成,不能用 : ,不建议使用连字符- + .
用户标识符:一般情况下与用户一一对应,0为root用户,1-99为系统保留管理员用户。默认从0-65535
登录shell :用户登陆后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
系统中有一类用户称为伪用户,他们在/etc/passwd 中也占有一条记录,但是不能登录,因为他们的登录shell为空,他们的存在主要是方便系统管理,满足相应的系统进程对文件宿主的要求,常见的伪用户如下所示:

   bin 拥有可执行的用户命令文件
   sys 拥有系统文件
   adm 拥有帐户文件
   uucp UUCP使用
   lp lp或lpd子系统使用
   nobody NFS使用
  • /etc/shadow 用户的密码信息
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
最后一次修改时间:最后一次修改口令距离某个时间点的天数。
最小时间间隔:两次修改口令之间所需要的最小天数
最大时间间隔:口令保持有效的最大天数
警告时间:字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
不活动时间:表示的是用户没有登录活动但账号仍能保持有效的最大天数。
失效时间:字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
  • /etc/group 用户组的所有信息
组名:口令:组标识号:组内用户列表
 
12、Linux磁盘管理
Linux支持的文件系统有哪些:ls -l /lib/modules/$(uname -r)/kernel/fs
cat /proc/filesystems:查看已经加载到内存中的文件系统
lsblk :列出本系统所有磁盘和磁盘内的分区信息
df:列出文件系统的整体磁盘使用量
du:列出磁盘空间使用量
fdisk:用于磁盘分区
  • df [-ahikHTm] [目录或文件名]

-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

  • du [-ahskm] 文件或目录名称

-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :列出总量而已,而不列出每个各别的目录占用容量;
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;

  • tmpfs:其实这是一个临时文件系统,驻留于内存中,使用它可以提高文件访问速度,并能保证重启时会自动清除这些文件。只不过驻留在这里的文件是容易丢失的,也可以认为这里就是内存,这个临时文件系统挂载在/dev/shm下。
临时改变虚拟内存大小: mount -o remount,size=180M tmpfs /dev/shm
永久改变虚拟内存大小:vi /etc/fstab  //编辑/etc/fstab, 把tmpfs这一行改为:
tmpfs /dev/shm tmpfs defaults,size=180M 0 0

 

  • 磁盘的挂载与删除
挂载:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
卸载:umount [-fn] 装置文件名或挂载点
-f :强制删除
-n : 不升级 /etc/mtab 情况下删除
umount /dev/hdc6
目录
相关文章
|
17天前
|
存储 安全 Linux
|
19天前
|
Linux Shell 数据安全/隐私保护
|
28天前
|
Linux 测试技术 网络安全
Linux系统之安装OneNav个人书签管理器
【10月更文挑战第19天】Linux系统之安装OneNav个人书签管理器
112 5
Linux系统之安装OneNav个人书签管理器
|
30天前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
54 5
Linux系统之安装Ward服务器监控工具
|
12天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
29 5
|
24天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
56 2
|
25天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
32 3
|
8天前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
59 0
|
14天前
|
关系型数据库 MySQL Linux
Linux-安装Mariadb
本文介绍了在 Alibaba Cloud Linux 系统上安装和配置 MariaDB 10.5 的步骤。包括下载安装、初始化数据库、启动服务、处理启动失败的常见问题(如权限问题),以及如何连接数据库、设置密码和允许外部连接。通过这些步骤,您可以顺利完成 MariaDB 的安装和基本配置。
29 0
|
27天前
|
Linux 网络安全 虚拟化
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
37 0
下一篇
无影云桌面