Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

关机开机常用命令

1
2
3
4
5
6
7
8
9
sync #将数据由内存同步到硬盘当中
shutdown # 关机命令,你可以man shutdown 来看一下帮助文档,例如你可以运行如下命令关机
shutdown -h 10 # 计算机将在10分钟后关机
shutdown -h now # 立刻关机
shutdown -h 20:25 # 系统会在今天20:25关机
shutdown -h +10 # 十分钟后系统关机
shutdown -r now # 系统立刻重启
shutdown -r +10 # 系统十分钟后重启
halt # 关闭系统,等同于 shutdown -h now 和 poweroff

不管是重启还是关机,首先运行sync命令,把内存中的数据写到磁盘中。

系统目录结构

image-20210714171444492

  • /bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。

  • /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /dev :ev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。

  • /etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

  • /home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。

  • /lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。

  • /lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。

  • /media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。

  • /mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。

  • /opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

  • /proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
    这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:

    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

  • /root:该目录为系统管理员,也称作超级权限者的用户主目录。

  • /sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。

  • /selinux:这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。

  • /srv:该目录存放一些服务启动之后需要提取的数据。

  • /sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。sysfs文件系统集成了下面3种文件系统的信息:针对进程信息的proc文件系统、针对设备的devfs文件系统以及针对伪终端的devpts文件系统。

    该文件系统是内核设备树的一个直观反映。

    当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。

  • /tmp:这个目录是用来存放一些临时文件的。

  • /usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。

  • /usr/bin:系统用户使用的应用程序。

  • /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。

  • /usr/src:内核源代码默认的放置目录。

  • /var
    这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

  • /run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。

/etc:上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。

/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给root使用的指令。

/var:这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。

cd:切换目录

1
2
3
4
5
6
7
ls :#查看当前下的目录
cd :#切换目录命令!
./ :#当前目录
/ :#绝对路径
cd.. :#返回上一级目录
cd ~ :#回到当前的用户目录
pwd :#显示当前用户所在的目录

ls:列出目录

1
2
-a:#参数:all,查看全部文件包括隐藏文件的属性和权限
-l:#参数 列出所有的文件,包含文件的属性和权限,没有隐藏文件

可以使用组合命令

1
ls -al #查看全部的文件包括隐藏文件的属性和权限

mkdir:创建目录

1
mkdir -p test/test2/test3 #-p 递归创建层级目录

rmdir:删除目录

1
rmdir -p test/test1/test2 #-p 递归删除文件

rmdir 只能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录-p参数即可

cp:复制文件或者目录

1
cp install.sh cqhstudy #将当前目录下的install.sh复制到cqhstudy文件夹中

rm:移除文件或者目录

1
2
3
4
-f: #忽略不存在的文件,不会出现警告,强制删除
-r: #递归删除目录
-i:#互动,删除询问是否删除
rm -rf install.sh #删除系统中的install.sh

mv 移动文件或者目录|重命名目录

1
2
3
4
-f #强制
-u #只替换已经更新过的文件
mv install.sh cqhstudy #移动文件
mv cqhstudy cqhstudy2 #重命名文件夹

基本属性

 Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性, Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
 在Linux中我们可以使用ll或者ls -l命令来显示一个文件的属性以及文件所属的用户和组,如:
 实例中, boot文件的第一个属性用”d”表示。 “d”在Linux中代表该文件是一 个目录文件。
 在Linux中第一个字符代表这个文件是目录、 文件或链接文件等等:
 ●当为[d]则是目录
 ●当为[-]则是文件;
 ●若是[l]则表示为链接文档( link file);
 ●若是[b]则表示为装置文件里面的可供储存的接口设备(可随机存取装置) ;
 ●若是[c]则表示为装置文件里面的串行端口设备,例如键盘、鼠标( 一次性读取装置)。
 接下来的字符中,以三个为一组,且均为[rwx] 的三个参数的组合。
 其中,[r]代表可读(read)、[w]代表可写(write)、[x]代表可执行(execute)。
 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[-]而已。
 每个文件的属性由左边第一部分的10个字符来确定 (如下图) :

e48cc6264db88892841d0cdeeca87f96

从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组 (所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用”r”字符表示,则有读权限,如果用”-“字符表示,则没有读权限;
第2、5、8位表示写权限,如果用”W”字符表示,则有写权限,如果用”-“字符表示没有写权限;
第3、6、9位表示可执行权限,如果用”x”字符表示,则有执行权限,如果用”-“字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的, - -个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。

修改文件属性

1、chgrp:更改书剑属组

1
chgrp [-R] 属组名文件名

-R递归更改文件属组,就是在更改某个目录文件的属组时,如果加上R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

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

3、chmod:更改文件9个属性

1
2
chmod[-R] xyz #文件或者目录
chmod 777 bestrookie

Linux文件属性有两种设置方法,一种是数字(常用的是数字), 一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为: [-rwxrwxrwx],这九个权限是三个三个一组的!其中,我们可以使用字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
可读可写不可执行 rw- 6
可读可写可执行 rwx 7
chomd 777 文件赋予所有用户可读可执行

文件内容查看

Linux系统中使用以下命令来查看文件的内容:

1
2
3
4
5
6
7
8
9
10
11
cat #由第一行开始显示文件内容

tac #从最后一行开始显示,可以看出tac是cat带着写。。

nl #显示的时候,输出行号

more #一页一页的显示文件内容 空格表示翻页,回车代表向下看一行

less #less和more类似 但是比more更好的是,less可以向前翻页(空格表示翻页,上下键代表上下翻页,退出q命令,查找字符串/要查询的字符向下查询,向上查询使用?要查询的字符串,用n继续寻下一个,用N向上查询。
head #只看头部几行 通过-n参数来控制显示几行
tail #只看尾巴几行 通过-n参数来控制显示几行

网络配置目录

1
2
3
cd /etc/ sysconfig/network-scripts
ping #用来查看网络是否连通
ifconfig #查看网络 centos7 查看ip可以使用 ip addr

Vim

新建或者编辑文件vim文件名,按i进入编辑模式,编写内容,编写完成后退出编辑模式,esc,退出之后进入底线命令模式 :wq保存退出

进入之后 在键盘输入i 进入输入模式

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

在命令模式下按下:(英文冒号)进入底线命令模式

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。

账号管理

useradd 命令添加用户

useradd -选项 用户名

1
-m #自动创建这个用户的主目录 /home/用户名

image-20210718150724477

删除用户

userdel

1
userdel -r #删除用户以及目录
修改用户
1
usermod
切换用户

image-20210718151546504

用户的密码设置
1
passwd 用户名
锁定账户
1
2
passwd -l #锁定之后这个用户不能登录了
passwd -d #没有密码也不能登录

用户组管理

用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新

1
groupadd #创建用户组

创建完用户组后可以得到一一个组的id ,这个id是可以指定的! -g 520, 若果不指定就是自增1

1
groupdel #删除用户组
1
group -g 新的id -n 新的组名 原来的组名
1
newgrp root #切换用户组

磁盘管理

1
2
df#(列出文件系统整体的磁盘使用量)
du#(检查磁盘空间使用量)

mac挂载优盘

挂载:mount

**卸载:umount-f **

进程管理

ps 查看当前系统中正在执行的各种进程的信息

ps -xx

1
2
3
4
5
6
-a #显示当前终端运行的所有进程信息
-u #以用户的信息显示进程
-x #显示后台运行进程的参数
ps -aux #查看所有的进程
grep #查找文件当中符合条件的字符串
ps -aux|grep mysql 查看所有和mysql相关的进程

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

1
2
3
4
5
ps -ef|grep mysql #看父进程我们一般可以通过目录树来查看
#进程书
pstree -pu
-p#显示父id
-u#显示用户组

结束进程:杀掉进程

kill -进程的id

评论