日常笔记——linux学习(随记)

linux学习

  • 一、 开关机
    • 关机:shutdown -h now
    • 重启:shutdown -r now
    • 注销:exit
  • 二、用户
    • cat /etc/passwd:查看所有用户
    • useradd:新建用户
    • passwd:设置密码
    • usermod:账号修改
    • userdel:删除用户
    • su - :切换用户
  • 三、用户组
    • cat /etc/group:查看所有用户组
    • groupadd:新增用户组
    • groupmod: 用户组修改
    • groupdel:用户组删除
    • gpasswd:管理用户组
  • 四、文件或目录操作
    • mkdir:新建文件夹
    • rmdir:删除空目录
    • cp:复制文件或目录
    • mv:移动文件或目录
    • rm:删除文件或目录
    • pwd:查找您目前所在的工作目录的绝对路径名称。
    • tree:以树形式列出当前目录的文件和文件夹
  • 五、vi编辑器
  • 六、systemctl
    • 防火墙操作
  • 七、端口操作
    • netstat -ntlp:查看当前所有已经使用的端口情况
    • netstat -ntlp | grep 8084:查看端口占用情况
  • 八、yum
    • 下载
    • 下载位置
    • 修改yum源
  • ↓↓↓↓↓↓↓↓↓↓--------随记---------↓↓↓↓↓↓↓↓↓↓
    • clear或者快捷键Ctrl + l (小写L):清屏
    • yum 语法
      • 安装nginx
    • wget:下载
    • netstat -nultp:查看当前所有已经使用的端口情况
    • netstat -anp | grep 8084:查看端口占用情况
    • 结束进程的方式:
    • ps:查看进程
    • grep:查找文件里符合条件的字符串
    • ls:命令用于显示指定工作目录下之内容
    • more:翻页
    • touch:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
    • service network restart 重启网络服务
    • lsof -i:3306 查看端口号
    • find / -name nginx.conf 查找文件

一、 开关机

关机:shutdown -h now

shutdown -h now #立刻关机重启,工作中常用
  shutdown -h +1 #1分钟后关机
  init 0
  halt #立即停止系统,需要人工关闭电源
  halt -p #
  poweroff     #立即停止系统,并且关闭电源

重启:shutdown -r now

reboot      #工作中常用
  shutdown -r now #工作中常用
  shutdown -r +1   #一分钟后重启
  init 6

注销:exit

logout
  exit      #工作中常用
  ctrl+d     #工作中常用

二、用户

cat /etc/passwd:查看所有用户

用户查看截图
其中包含七个部分,每个部分之间用冒号 : 分隔,他们分别代表:

  1. 用户名 (magesh): 已创建用户的用户名,字符长度 1 个到 12 个字符。
  2. 密码(x):代表加密密码保存在 `/etc/shadow 文件中。
  3. 用户 ID(506):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
  4. 群组 ID (507)初始组:代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group 文件中。
  5. 用户信息(2g Admin - Magesh M):代表描述字段,可以用来描述用户的信息。
  6. 家目录(/home/mageshm):代表用户的家目录。
  7. Shell(/bin/bash):代表用户使用的 shell 类型。
cat [-AbeEnstTuv] [--help] [--version] fileName

-n 或 --number:由 1 开始对所有输出的行数编号。

-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。

-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。

-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。

-E 或 --show-ends : 在每行结束处显示 $。

-T 或 --show-tabs: 将 TAB 字符显示为 ^I。

-A, --show-all:等价于 -vET。

-e:等价于"-vE"选项;

-t:等价于"-vT"选项;

useradd:新建用户

useradd [选项] [用户名]

选项说明:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。

# useradd -s /bin/sh -g group –G adm,root gem

passwd:设置密码

root用户:
passwd [用户名]
普通用户:
直接输入passwd后,先输入旧密码,再输入两次新密码

passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]

选项说明:
-d 删除密码
-f 强制执行
-k 更新只能发送在过期之后
-l 停止账号使用
-S 显示密码信息
-u 启用已被停止的账户
-x 设置密码的有效期
-g 修改群组密码
-i 过期后停止用户账号

usermod:账号修改

usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ][用户帐号]

选项说明:
-c<备注>  修改用户帐号的备注文字。
-d<登入目录>  修改用户登入时的目录。
-e<有效期限>  修改帐号的有效期限。
-f<缓冲天数>  修改在密码过期后多少天即关闭该帐号。
-g<群组>  修改用户所属的群组。
-G<群组>  修改用户所属的附加群组。
-l<帐号名称>  修改用户帐号名称。
-L  锁定用户密码,使密码无效。
-s  修改用户登入后所使用的shell。
-u  修改用户ID。
-U  解除密码锁定。

userdel:删除用户

userdel [参数][用户账号]
参数:
不加参数,仅删除账号,不删除相关文件;
-r 删除用户登入目录以及目录中所有文件;
-f 强制删除用户(甚至当用户已经登入linux系统时此选项仍旧生效)。

su - :切换用户

su - [用户名]

三、用户组

cat /etc/group:查看所有用户组

用户组查看截图
其中包含四个部分,每个部分之间用冒号 : 分隔,他们分别代表:

  1. 组名称:每个组都有一个组名称
  2. 组密码:可以给组提供一个密码
  3. 组ID:像用户ID一样,linux内核使用ID来识别
  4. 组成员:定义组成员用户名列表,用半角逗号隔开

groupadd:新增用户组

groupadd [选项] [参数]

选项说明:
-g:指定新建工作组的id;
-r:创建系统工作组,系统工作组的组ID小于500;
-K:覆盖配置文件“/ect/login.defs”;
-o:允许添加组ID号不唯一的工作组。

groupmod: 用户组修改

groupmod [选项] [用户组]

选项说明:
-g: GID 为用户组指定新的组标识号。
-o: 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n: 新用户组 将用户组的名字改为新名字

groupdel:用户组删除

groupdel [群组名称]

gpasswd:管理用户组

gpasswd [-a user] [-d user] [-A user,...] [-M user,...] [-r] [-R] [groupname]

选项说明:
-a:添加用户到组
-d:从组删除用户
-A:指定管理员
-M:批量给指定组添加成员,用逗号隔开
-r:删除密码
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组

四、文件或目录操作

mkdir:新建文件夹

mkdir [-p] dirName

参数说明:
-p 确保目录名称存在,不存在的就建一个。

rmdir:删除空目录

rmdir [-p] dirName

参数说明:
-p 是当子目录被删除后使它也成为空目录的话,则顺便一并删除。

cp:复制文件或目录

cp [选项] 原文件或目录 目标文件或目录

选项说明:
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

mv:移动文件或目录

mv [选项]  源文件或目录  目标文件或目录

选项说明:
-i: 若指定目录已有同名文件,则先询问是否覆盖旧文件;
-f: 在mv操作要覆盖某已有的目标文件时不给任何指示;

rm:删除文件或目录

rm [选项] 文件或目录

选项说明:
-i 删除前逐一询问确认。
-f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
-r 将目录及以下之档案亦逐一删除。

eg:删除文件可以直接使用rm命令,若删除目录则必须配合选项"-r"
rm  test.txt
rm  -r  homework

eg:删除当前目录下的所有文件及目录,并且是直接删除,无需逐一确认命令行为
rm  -rf  要删除的文件名或目录

pwd:查找您目前所在的工作目录的绝对路径名称。

tree:以树形式列出当前目录的文件和文件夹

安装:sudo yum -y install tree

tree -L [num]

参数说明:
num 数字,只查看当前第N级的目录和文件。

eg:只查看当前第二级的目录和文件
tree -L 2
eg:查询到的结果存入/home/xxx/tree.text文件中
tree -L 2 > /home/xxx/tree.text

五、vi编辑器

先按ESC,进入末行模式
i 进入编辑模式
:w 只保存
:q 退出vi
:q! 强制退出,不保存
:wq 保存并退出
:wq! 强制保存并离开
:set number 查看行号

六、systemctl

防火墙操作

iptables

查看防火墙状态:systemctl status iptables
*说明:出现Active: active (running)切高亮显示则表示是启动状态。
	  出现Active: inactive (dead)灰色表示停止。
开启:systemctl start iptables
关闭:systemctl stop iptables
重启:systemctl restart iptables

centos7以上默认firewalld操作防火墙

查看防火墙状态:systemctl status firewalld
开启:systemctl start firewalld
关闭:systemctl stop firewalld
重启:systemctl restart firewalld
禁用firewalld:systemctl mask firewalld
启用firewalld:systemctl unmask firewalld

七、端口操作

netstat -ntlp:查看当前所有已经使用的端口情况

netstat -ntlp | grep 8084:查看端口占用情况

八、yum

下载

查询可下载的包: yum list mysql
更新源地址:  yum update

下载位置

默认位置:

/var/cache/yum

可以在/etc/yum.conf 指定:

cachedir=/var/cache/yum 	#存放目录
keepcache=1 				#1为保存 0为不保存
metadata_expire=1800		#过期时间 

修改yum源

1、备份本地yum源

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

2、获取阿里yum源配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3、更新cache

yum makecache

↓↓↓↓↓↓↓↓↓↓--------随记---------↓↓↓↓↓↓↓↓↓↓

clear或者快捷键Ctrl + l (小写L):清屏

yum 语法

yum [options] [command] [package ...]

参数说明:
options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
command:要进行的操作。
package:操作的对象。

注意:
默认是: /var/cache/yum
也可以在 /etc/yum.conf 指定
cachedir=/var/cache/yum #存放目录
keepcache=1 #1为保存 0为不保存
metadata_expire=1800 #过期时间

安装nginx

http://nginx.org/en/linux_packages.html#stable
启动nginx: systemctl start nginx
关闭:systemctl stop nginx
重启:systemctl restart nginx

wget:下载

netstat -nultp:查看当前所有已经使用的端口情况

netstat -anp | grep 8084:查看端口占用情况

结束进程的方式:

a、从容停止:

$ kill -QUIT 主进程号  

例如:kill -QUIT 16391
这种方式相对来说会有一个停止的过程,先将子进程停止掉,然后再停掉主进程。

b、快速停止:

$ kill -TERM 主进程号  

这种会比上面那种方法速度快些。

c、强制停止:

$ kill -9 主进程号 

ps:查看进程

参数说明:

ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A	 	列出所有的行程
-w 		显示加宽可以显示较多的资讯
-au 	显示较详细的资讯
-aux 	显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 	行程拥有者
PID: 	pid
%CPU: 	占用的 CPU 使用率
%MEM: 	占用的记忆体使用率
VSZ: 	占用的虚拟记忆体大小
RSS: 	占用的记忆体大小
TTY: 	终端的次要装置号码 (minor device number of tty)
STAT: 	该行程的状态:
D: 		无法中断的休眠状态 (通常 IO 的进程)
R: 		正在执行中
S: 		静止状态
T: 		暂停执行
Z: 		不存在但暂时无法消除
W: 		没有足够的记忆体分页可分配
<: 		高优先序的行程
N: 		低优先序的行程
L: 		有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 	行程开始时间
TIME: 	执行的时间
COMMAND:所执行的指令

eg:

查看nginx进程是否启动:
ps -ef | grep nginx

grep:查找文件里符合条件的字符串

ls:命令用于显示指定工作目录下之内容

ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及…的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
权限的查看-rw-rw-r–,一共10位,他们所代表的分别是:
第一位代表类型,-代表文件,d代表文件夹;
二三四位代表的是所有者(user)拥有的权限;
五六七位代表的是组群(group)拥有的权限;
八九十位代表的是其他人(other)拥有的权限。
其中
r 表示文件可以被读(read)
w 表示文件可以被写(write)
x 表示文件可以被执行(如果它是程序的话)
- 表示相应的权限还没有被授予
浏览指定目录下的文件

ls /home -l

more:翻页

ls -l | more

回车:向下滚动一行
空格:向下翻一页
q键:退出
/或者/
上翻 Shift+PageUp,向下是Shift+PageDown

touch:用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

touch file #创建一个名为“file”的新的空白文件

service network restart 重启网络服务

lsof -i:3306 查看端口号

find / -name nginx.conf 查找文件

你可能感兴趣的:(服务器)