①Linux-操作系统
✨你好啊,我是“ 罗师傅”,是一名程序猿哦。
🌍主页链接:楚门的世界 - 一个热爱学习和运动的程序猿
☀️博文主更方向为:分享自己的快乐 briup-jp3-ing
❤️一个“不想让我曾没有做好的也成为你的遗憾”的博主。
💪很高兴与你相遇,一起加油!
前言
Linux 服务的基本操作
历史
Linux - 维基百科,自由的百科全书 (wikipedia.org)
Linux系统内核+GNU系统套件 = 各种 版本的Linux操作系统
图解
系统
一个Linux操作系统,由是哪个重要的部分组成。内核、Shell、文件系统
- Kernel
- 内核,管理硬件设备、内存、进程、交互空间、文件系统、系统程序等。
- Shell
- Shell是用户和kernel之间的接口,它也是一个命令解释器,当用户在linux界 面发出一个指令时,命令先传到shell,然后在将这个指令翻译成计算机可 以识别的二进制语言,然后传给计算机内核,告诉他要做什么事情。计算机内核将结果返还给shell,shell翻译成人所熟悉的语言,将结果展示出来
指令-->shell-->二进制-->内核-->result to shell--> show result
常见的几种Shell
- Bourne shell (sh)
- 是一个快捷方式,已经被/bin/bash所取代
- Korn shell (ksh)
- 语法与Bourne shell 相同,同时具备了C shell 的易用特点
- C shell (csh)
- 使用的是”类C“语法,csh是具有C语言风格的使用shell
- Bourne-again shell (bash)
- 大多数Linux系统默认使用的Shell,是Bourne shell的一个免费版本,它是最早的Unix Shell
默认普通用户会显示$符号,root账号会显示#符号
1
2
3 查看用户默认使用的shell, echo $SHELL
briup@ubuntu:~$ echo $SHELL
/bin/bash
1
2
3
4
5
6 查看用户当前使用的shell, ps
briup@ubuntu:~$ ps
PID TTY TIME CMD
3519 pts/0 00:00:00 bash
3534 pts/0 00:00:00 ps
PID 进程编号,TTY 与进程关联的终端,TIME 进程使用的总cpu时间,CMD 正在执行的命令行命令
File System
不同的Linux系统或者同一系统的不同版本,文件系统的目录结果可能 会有所区别,但基本属于大同小异
Solaris系统的目录结构:
路径
1
2
3
4
5 # 绝对路径
cat /hello.txt # ("/")根目录
# 相对路径
cat ./hello.txt # ("./")当前目录
cat ../hello.txt # ("../")父级目录注意,这里的cat是查看文件内容的一个命令
密码
普通用户修改密码 :
- passwd
设置root(超级用户)用户密码:
- sudo passwd root
sudo,命令表示临时使用最高权限(root账号权限)进行操作
- 当前用户,切换到root用户:
注意,普通用户和root用户的命令提示符有所不同
用户
- 创建一个新的用户swift,家目录为/home/swift,用户登录后使用bash
1 sudo useradd -mk /home/swift -s /bin/bash swift
- 给新建对的swift用户设置密码
1 sudo passwd swift
- 切换到swift用户
1 su swift 或者 su - swift
- 使用sudo命令测试
1
2
3
4 swift@ubuntu:~$ sudo clear
[sudo] swift 的密码:
swift 不在 sudoers 文件中。此事将被报告。
swift@ubuntu:~$是因为swift用户不在sudo这个用户组中,所以无法使用sudo命令
- id 命令
1
2
3 swift@ubuntu:~$ id
用户id=1003(swift) 组id=1003(swift) 组=1003(swift)
swift@ubuntu:~$
- 切换到briup账号,使用sudo命令,将用户swift添加到sudo组中
1 sudo gpasswd -a swift sudo注意,切换到root用户也可以直接操作
- 切换到swift用户,查看是否已经在sudo组中,并且测试sudo命令是否可用
1
2 swift@ubuntu:/home/briup$ id
用户id=1003(swift) 组id=1003(swift) 组=1003(swift),27(sudo)
- 切换到briup用户,使用sudo命令,将swift用户从sudo组中删除
1
2
3
4 swift@ubuntu:/home/briup$ su briup
密码:
briup@ubuntu:~$ sudo gpasswd -d swift sudo
正在将用户“swift”从“sudo”组中删除
- 使用sudo命令,删除swift用户,并删除swift用户对于的家目录 /home/swift,并 且是强制删除
1
2
3
4
5 briup@ubuntu:~$ sudo userdel -rf swift
userdel: user swift is currently used by process 5358
userdel: swift 邮件池 (/var/mail/swift) 未找到
briup@ubuntu:~$ id swift
id: “swift”:无此用户注意:千万不要频繁使用 -rf 频繁删除东西啊啊啊~害怕
命令
命令格式:Command [option(s)] [argument[s]]
- command:命令关键字
- options:可以有多个选项
- arguments:可以有多个参数
例如:显示a.txt的内容,并且显示行号
- cat -n a.txt
注意事项
- 中间用空格隔开
- 单行命令一般不超过256个字符
- 大小写敏感
常用的几个命令:
- clear 清屏
- pwd 显示当前工作目录
- cd 切换目录
- ls 显示当前目录下的内容列表
1
2
3
4
5
6
7 ls -a //显示隐藏文件和隐藏目录,也就是以点(.)开头的文件和目录
ls -R //递归显示目录中的内容
ls -t //显示目录中的内容列表,并使用时间排序,默认是按着名字排序
ls -l //显示详细信息
ls -a -l //这些参数可以多个一起使用
ls -al //参数可以分开也可以合在一起写
ls -F //显示文件的类型,目录/ 可执行文件* 普通文件
1
2
3
4
5
6
7
8
9
10
11
12
13 -rw-rw-r-- 1 briup briup 199 7月 16 12:16 a.txt
从左到右
- 文件类型,普通文件是- 目录是d 链接文件是l 块设备
文件是b 字符设备文件是c
命令管道文件是p sock文件是s
rw-rw-r-- 权限设置,这里是分三组,分别为拥有者权限、同组人权
限、其他人权限
1 链接号
briup 拥有者
briup 拥有组
199 文件大小
7月 16 12:16 最后修改时间
a.txt 文件名字
ls -F
权限
使用ls -l 命令,可以查看文件或目录的相关权限
ls -l 或者 ll
- 截屏中标注的部分就是当前b.txt文件针对用户的权限。
- r 读权限
- w 写权限,对目录来说,可生成文件与子目录或删除文件与子目录
- x 执行权限,对目录来说,可查找该目录下内容
-
表示没有任何权限
1
2
3
4 rw- r-- ---
rw- 表示当前文件对拥有者的权限
r-- 表示当前文件对同组人的权限
--- 表示当前文件对其他人的权限
- 在添加或者删除某个权限的时候:
- u 表示拥有者
- g 表示同组人
- o 表示其他人
- a 表示所有人
1
2 chmod u+x b.txt
chmod 777 b.txt也可以是数字来表示权限
1
2
3
4 0000 0001 x 执行权限 十进制数字 1
0000 0010 w 写权限 十进制数字 2
0000 0100 r 读权限 十进制数字 4
在这种情况下,任意权限组合相加得出的数字结果,都是唯一。example:
1
2 # 7 = 1+2+4 即 二进制 111
chmod 777 b.txt
❤️❤️❤️忙碌的敲代码也不要忘了浪漫鸭!
书山有路勤为径,学海无涯苦作舟💪。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 楚门的世界!
评论