Linux学习笔记

开关机和基本目录

sync 把所有内存数据同步到硬盘中(关机或重启前前先执行这个)

shutdown 立即关机

shutdown -h 10 十分钟后关机

shutdown -h now 立刻关机

shutdown -h 20:12 今天20:12关机

shutdown -r 重启

shutdown -r 10 10分钟后重启

系统目录结构

一切皆文件

根目录 /

根目录下的目录:

  • /bin:存的最近常使用的命令
  • /boot:启动linux的核心文件
  • /dev:Device缩写,存放的是Linux的外部设备,Linux中访问设备和访问文件是相通的
  • /mnt: 让用户临时挂载别的文件系统的,可以将光驱挂载在/mnt/上,进入该目录即可查看光驱内容
  • /etc:存放所有的系统管理所需要的配置文件和子目录(redis,tomcat和java的配置都放这里)
  • /home:用户的主目录,每个用户都有自己的目录,一般以用户账户命名
  • /lib: 存放系统最基本的动态链接共享库,类似于win里的DLL文件
  • /lost+found:一般为空,非法关机就会存放一些文件
  • /media:系统自动识别一些设备,如u盘、光驱,会把识别设备挂载到该目录下
  • /opt:给主机额外安装软件所摆放的目录。默认是空。
  • /root:该目录为系统管理员,也称作超级权限者的用户主目录
  • /proc:虚拟的目录,是系统内存的映射,可通过这个直接访问系统信息(不用管)
  • /usr:非常重要,用户很多应用程序和文件都放在这个目录下,类似于win中的program file目录。
  • /sbin:s就是super user的意思,存放系统管理员使用的系统管理程序
  • /tmp:存放临时文件,用完即丢的文件放在这里,比如安装包
  • /var:存放着不断扩充着的东西,习惯将那些经常被修改的目录放在这里,比如日志文件。
  • /run:临时文件系统,存放系统启动以来的信息,系统重启时,该目录下的文件应清除。
  • /www:存放服务器网站相关的资源,环境,网站的项目

常用命令

绝对路径:路径全称

相对路径:

cd 目录名: 切换路径

cd … 返回上一级目录

./ 当前目录

ls 列出目录,最常使用

-a 查看全部文件,包括隐藏文件

-l 列出文件及属性和权限,没有隐藏文件

-al 组合使用

pwd 显示当前路径

mkdir 创建文件夹

mkdir a/b/c/d -p 递归的创建

rmdir 移除文件夹 (如果文件夹内有内容就无法这样删除)

rmdir -p 递归的移除

cp [路径1] [路径2] 复制文件或目录

rm 移除文件或目录

-f 忽略不存在的文件,不会出现询问,强制删除

-r 递归删除目录

-i 互动,询问是否删除

mv 移动文件或目录,还可以重命名

-f 强制

-u 只替换已经更新过的文件

文件属性

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-B3fjLRLy-1592655349377)(C:\Users\Wensheng\AppData\Roaming\Typora\typora-user-images\image-20200620152707588.png)]

第一个字符代表文件类型:

  • d开头的是目录
  • l开头的是链接文档
  • -开头的是文件

接下来的字符以三个为一组(共三组),均为rwx三个参数的组合。

  • 【r】代表可读
  • 【w】代表可写
  • 【x】代表可执行 execute
  • 没有权限用【-】表示

第一组是属主的权限,第二组是属组的权限,第三组其他用户的权限。

第一个root代表属主,第二个root代表属组。

  • 修改文件属组:chgrp

    chgrp [-R] 属组名 文件名或目录名

    -R 递归的更改,也就是该目录下的所有文件都进行更改

  • 更改文件属主和属组

    chown [-R] 属主名 文件名

    chown [-R] 属主名:属组名 文件名

  • **更改文件九个属性:**chmod

    chmod [-R] xyz 文件名或目录

    文件属性有两种设置,一种数字,一种符号。

    基本权限就九个,分别是owner/group/others三种身份各有自己的rwx权限。

    可以使用数字代表权限

    r:4

    w:2

    x:1

    每种身份各自的三个权限分数是需要累加的。如:

    owner = rwx =4+2+1=7

    group = rwx =4+2+1=7

    others = — =0+0+0=0

    chmod 770 filename

文件内容查看

  • cat: 由第一行开始显示文件内容

  • tac:从最后一行开始显示

  • nl:cat的进阶版,显示时顺便输出行号

  • more:一页一页显示内容(空格翻页,回车向下翻一行)

  • less:与more类似,但可以往前翻页(空格往后翻页,pageUp pageDown滚动页面,退出q命令)

    使用less打开文件后,可以输入 /字符 来查找某个字符, /是向下查询,?是向上查询。n继续向下搜寻下一个,N向上搜寻下一个。

  • head -n:只看前n行

  • tail -n:只看后n行

可以使用man [命令] 来查看命令的使用文档。

网络配置目录:/etc/systemconfig/network-scripts (centos7)

ifconfig 查看网络配置 ubuntu

ip addr 查看网络配置 centos

软链接和硬链接(了解)

linux的链接分两种。

硬链接:假设B是A的硬链接,那么他们两个执行同一个文件,运行文件拥有多个路径,用户可以为重要文件建立硬链接,防止误删。

软连接:就是win下的快捷方式,删除了源文件,快捷方式也访问不了。

创建连接:ln命令

touch命令创建文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JbcY0VmS-1592655349468)(C:\Users\Wensheng\AppData\Roaming\Typora\typora-user-images\image-20200620160712087.png)]

  • f2为硬链接,f3为软连接。给f1写入字符串,打开这三个都会出现相同的字符串。如果使用rm 删除f1,那么f3会爆红无法使用,f2无影响。(f2这种硬链接像是复制了一个,但是又会随着源文件改变)

vim

从vi发展来的文本编辑器,用于查看,编辑,保存内容。

三种使用模式

  • 命令模式
  • 输入模式
  • 底线命令模式

刚启动vim就进入了命令模式。此状态下的输入会被识别为命令,而非输入字符。

常用命令:

  • i 切换到输入模式
  • x 删除当前光标所在处的字符
  • : 切换到底线命令模式

输入模式下的一些功能:

  • ESC 退出输入模式,切换到命令模式
  • 其他功能,如回车,删除,与win类似

底线命令模式

命令模式下按下:就进入底线命令模式。光标移动到最底下,可以输入底线命令。

  • w 保存
  • q 退出
  • 一般都是直接输入:wq ,然后按回车保存退出。

命令

底线命令模式:

  • :set nu 显示行号
  • :set nonu 取消行号
  • ZZ 大写的Z,若有改动则存储离开,无改动则不存储离开
  • :q! 叹号为强制离开,不存储更改
  • :wq 保存退出

命令模式:

  • h j k l 分别相当于四个方向键,用于移动光标
  • 数字+空格 横向移动光标
  • 数字+回车 纵向移动光标
  • /word 或 ?word 搜索,分别是从光标处向下、向上搜索
  • n N 分别是搜索处结果后,定位到上一个,下一个
  • u 撤销前一个动作
  • [Ctrl]+r 重复前一个动作

账户管理

账户的添加、修改和删除。

useradd 命令 添加用户

useradd -选项 用户名

-m:自动创建该用户的主目录,/home/qin

添加用户就是在某一个文件中写入用户信息(/etc/passwd)。(一切皆文件)

userdel 删除用户

userdel -r 用户名 删除用户时一并删除其目录页

usermod [修改内容] [用户名] 修改用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KpTKIoda-1592655349580)(C:\Users\Wensheng\AppData\Roaming\Typora\typora-user-images\image-20200620165810547.png)]

修改完查看配置文件cat /etc/passwd即可!

切换用户

  1. su username
  2. 从普通用户切换到root,可以使用:sudo su
  3. 输入exit或logout或快捷方式ctrl+d可以退回原来的用户
  4. 切换用户后如果要使用新用户的工作环境,就使用 su -username

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e3Ba5wV3-1592655349604)(C:\Users\Wensheng\AppData\Roaming\Typora\typora-user-images\image-20200620170221966.png)]

root代表当前用户名,localhost代表主机名,home代表当前路径,#代表超级用户,$代表普通用户。

hostname [newname] 修改主机名

hostname 查看主机名

密码设置

passwd username 就可以为用户username设置新密码

passwd 更改当前用户密码 (需要验证旧密码)

冻结账户

passwd -l username 锁定之后这个用户就不能登录了

passwd -d username 将密码清空,这样也不能登录了

用户组管理

属主, 属组

每个用户都属于一个用户组,系统可以对一个组里的所有用户进行统一管理。

用户组管理就是增删改,本质上是对/etc/group文件的更新。

创建用户组 groupadd groupname

groupadd groupname -g 520 指定组的id,不指定就自增1

删除 groupdel groupname

修改 groupmod username

-g 新id 改id

-n 新name 改名字

如何切换用户的用户组

  1. 登录当前用户,使用命令

newgrp 组名

  1. 或者在创建用户时指定用户组(useradd username -G 组名)

文件查看扩展(了解)

/etc/passwd文件中的内容格式:

用户名:口令(登录密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录shell

每一行代表一个用户,可以看到该用户的属组等信息。

密码都放在/etc/shadow文件中,但是是加密过的。

用户组信息都在/etc/group文件中。

磁盘管理

基本命令

df -h(调整为M,G等单位,默认是以字节为单位) 列出文件系统整体的磁盘使用量

du 检查当前目录下各文件磁盘空间使用量

du -sm /* 根目录下每个目录占用的容量

系统初期最大的就是usr目录,因为很多文件和程序都在这里.

挂载:mount

mount /dev/kuang /mnt/kuang

解释:将kuang这个外部设备U盘挂载到mnt下,这样才可以直接访问。

卸载:umount -f [挂载位置](-f代表强制卸载)

进程管理

  1. 每个程序都有自己的一个进程,每个进程都有自己的id号
  2. 每一个进程都有一个父进程
  3. 进程可以有两种存在方式:前台和后台运行
  4. 一般的话,服务都是后台运行,基本程序都是前台运行

命令

ps 查看当前系统中正在执行的进程的信息(常用)

  • -a 显示当前终端运行的所有进程信息
  • -u 以用户的信息显示进程
  • -x 显示后台运行进程
ps -aux|grep mysql 
# | 在linux中称为管道符,可以以前面的结果作为后面的操作内容
# grep  查找符合条件的字符串

只需记住一个命令:ps -xx|grep 进程名

ps -ef:可以查看父进程的信息

ps -ef|grep mysql  # 看父进程一般通过目录树来查看
pstree  (这个命令不管用啊)
   -p  显示父id
   -u  显示用户组

杀掉进程,等价于win中的结束任务。

 kill -9  进程id

平时的java代码死循环了可以结束进程

你可能感兴趣的:(linux,操作系统)