Linux:一套神奇的操作系统

Linux

小总结:

帮助命令:man和help

递归操作(需要区分)

创建多级目录

mkdir -p kawaii/haha/good

递归复制整个文件夹

cp -r kawaii/hello/ ./

递归删除目录中所有内容和此目录

rm -rf liangshan/

查看文件的内容三种方法:

1、查看文件内容并显示行号

cat -n songliang.txt

2、采用more查看文件(space向下翻一页,Enter向下翻一行,=输出当前行的行号,q离开)

more smartd.conf

3、less 要查看的文件(可以用/查找字串)

less 某个文件

下面进入正题:

Linux的定义: Linux是一套免费使用的多用户、多任务、支持多线程的类似Unix的操作系统。

Linux文件与目录结构

在这里插入图片描述常用目录:

/bin :放置的是可以被root 与一般账号所使用的指令,如:cat、chmod(修改权限)、chown、date、mv、mkdir、cp、bash等

/boot :放置Linux核心档案和开机所需设定档等

/dev :放置装置和周边设备的档案

/etc :放置系统主要的配置文件,一般使用者可以查看,只有root才能修改,如:账号密码档、服务的起始档

/home :使用者家目录(home directory),家目录有两种代号: 代表当前使用者的家目录,而guest代表用户名为guest的家目录

/lib:放置着系统基本的动态连接共享库,类似windows里的dll文件

/media:放置着可移除的装置,如软驱、光驱 等装置

/mnt:临时挂载某些额外的装置。

/opt:放置第三方协议软件,如oracle数据库、浏览器

/root:系统管理员root用户的家目录

/sbin:包含开机、修复、还原系统需要的系统程序,/usr/sbin存放超级管理用户访问的应用程序,本机安装的其他软件产生的系统执行档放置到/usr/local/sbin目录

/srv(service):是一些服务启动之后需要访问的数据目录,如www服务需要的网页资料可以放置在/srv/www里

/tmp:一般使用者暂时放置档案的地方

/proc:是一个虚拟目录,是系统内存的映射,访问这个目录可以获取系统信息

/sys:是一个虚拟的档案系统

VI/VIM编辑器

定义:是类Unix操作系统中最通用的文本编辑器

一般模式

以vi打开一个档案就直接进入一般模式了(这是默认的模式)。在这个模式中, 你可以使用『上下左右』按键来移动光标,你可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理你的文件数据。

语法 功能描述

yy复制光标当前一行
y数字y复制一段(从第几行到第几行)
p箭头移动到目的行粘贴
u撤销上一步(undo)
dd 删除光标当前行
d数字d删除光标(含)后多少行
x删除一个字母,相当于del,向后删
X删除一个字母,相当于Backspace,向前删
yw 复制一个词
dw 删除一个词
shift+^移动到行头 shift加上箭头
shift+$移动到行尾
gg移动到页头
G 移动到页尾
数字+G(先输入数字,在按G) 移动到目标行

编辑模式

在一般模式中可以进行删除、复制、粘贴等的动作,但是无法编辑文件内容!要等到你按下『i, I, o, O, a, A, r, R』等任何一个字母之后才会进入编辑模式。
注意了!通常在Linux中,按下这些按键时,在画面的左下方会出现『INSERT或 REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』这个按键即可退出编辑模式。

指令模式

在一般模式当中,输入『:或/或?』3个中的任何一个按钮,就可以将光标移动到最底下那一行。
在这个模式当中, 可以提供你的动作,而读取、存盘、大量取代字符、离开 vi 、显示行号等动作是在此模式中达成的!

命令与功能:

:w 保存
:q 退出
:! 强制执行
/ 要查找的词
n 查找下一个,N 往上查找
? 要查找的词
n 是查找上一个,N 是往下查找
:set nu 显示行号
:set nonu 关闭行号
ZZ(shift+zz) 没有修改文件直接退出,如果修改了文件保存后退出
强制保存退出 :wq!

1、帮助命令:

man获得帮助信息

man [命令]

help获得shell内置命令的帮助信息

例如:ls --help ll命令就等于ls -l

常用快捷键与功能

ctrl + c 停止进程
ctrl+l清屏;彻底清屏是:reset
ctrl + q退出
善于用tab键提示(更重要的是可以防止敲错)
上下键可以查找执行过的命令
ctrl +altlinux和Windows之间切换

2、文件目录命令

pwd 显示当前工作目录的绝对路径
pwd:print working directory 打印当前工作目录的绝对路径
基本语法:pwd

ls 列出目录的内容
ls:list 列出目录内容
基本语法:ls 选项 目录或文件

选项说明与功能:

-a 全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来(常用)
-l 长数据串列出,包含文件的属性与权限等等数据;(常用)

ls -l显示说明 每行列出的信息依次是:

文件类型与权限 链接数 文件属主 文件属组 文件大小用byte来表示 建立或最近修改的时间 名字

cd 切换目录
cd:Change Directory切换路径
基本语法:cd [参数]
参数说明:

cd 绝对路径 切换路径
cd相对路径 切换路径
cd ~或者cd 回到自己的家目录
cd -回到上一次所在目录
cd ..回到当前目录的上一级目录

使用绝对路径切换到root目录
cd /root/

使用相对路径切换到“Public”目录
cd Public/

表示回到自己的家目录,亦即是 /root 这个目录
cd ~

cd- 回到上一次所在目录
cd -

表示回到当前目录的上一级目录,亦即是“/root/Public”的上一级目录的意思
cd …

mkdir 创建一个新的目录
mkdir:Make directory 建立目录
基本语法:mkdir [选项] 要创建的目录

选项说明

-p 创建多层目录
案例操作

创建一个目录
mkdir kawaii

创建多级目录
mkdir -p kawaii/haha/good

rmdir 删除一个空的目录
rmdir:Remove directory 移动目录
基本语法:rmdir 要删除的空目录
案例操作:

删除一个空的文件夹
rmdir kawaii/haha/good

touch 创建空文件
基本语法:touch 文件名称
案例操作:touch test.txt

cp 复制文件(复制内容)或目录
基本语法:cp [选项] source dest
选项说明:-r 递归复制整个文件夹
参数说明:source - 源文件,dest - 目标文件
案例操作:

复制文件
cp kawaii/hellokitty.txt hk.txt

递归复制整个文件夹
cp -r kawaii/hello/ ./

rm 移除文件或目录
基本语法:rm [选项] deleteFile
选项说明:

-r
递归删除目录中所有内容

-f
强制执行删除操作,而不提示用于进行确认。

-v
显示指令的详细执行过程
案例操作:

删除目录中的内容
rm shuihu/liangshan/songjiang.txt

递归删除目录中所有内容和此目录
rm -rf liangshan/

mv 移动文件与目录或重命名
基本语法:

mv oldNameFile newNameFile (重命名)
mv movefile /targetFolder (移动文件,相当于剪切操作)

案例操作:

重命名
mv shuihu/liangshan/songjiang.txt shuihu/liangshan/likui.txt
移动文件
mv shuihu/liangshan/likui.txt ./

cat 查看文件内容
查看文件内容,从第一行开始显示。
基本语法:cat [选项] 要查看的文件
选项说明:-n 显示所有行的行号,包括空行
经验技巧:一般查看比较小的文件,一屏幕能显示全的。
案例操作:

查看文件内容并显示行号
cat -n songliang.txt

more 文件内容分屏查看器

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more指令中内置了若干快捷键,详见操作说明。

基本语法:more 要查看的文件

操作说明:

空白键 (space)
代表向下翻一页;

Enter
代表向下翻『一行』;

q
代表立刻离开 more ,不再显示该文件内容。

Ctrl+F
向下滚动一屏

Ctrl+B
返回上一屏

=
输出当前行的行号

:f
输出文件名和当前行的行号

案例操作:

采用more查看文件
more smartd.conf

less 分屏显示文件内容

less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。

基本语法:less 要查看的文件(可以用/查找字串)

操作说明:

空白键
向下翻动一页;

[pagedown]
向下翻动一页

[pageup]
向上翻动一页;

/字串
向下搜寻『字串』的功能;n:向下查找;N:向上查找;

?字串
向上搜寻『字串』的功能;n:向上查找;N:向下查找;

q
离开 less 这个程序;

echo
echo 输出内容到控制台

基本语法:echo 选项 输出内容

选项:-e 支持反斜线控制的字符转换

控制字符

\
输出\本身

\n
换行符

\t
制表符,也就是Tab键

案例操作:

echo “hello\tworld” 结果为hello\tworld
echo -e “hello\tworld” 结果为hello world

head 显示文件头部内容

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。

基本语法:

head 文件 查看文件头10行内容
head -n 5 文件 查看文件头5行内容,5可以是任意行数

案例操作:
head -n 2 smartd.conf

tail 输出文件尾部内容

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。

基本语法:

tail 文件 # 查看文件后10行内容
tail -n 5 文件 # 查看文件后5行内容,5可以是任意数字行数
tail -f 文件 # 实时追踪该文档的所有更新

选项说明:

-n<行数>
输出文件尾部n行内容

-f
显示文件最新追加的内容,监视文件变化

案例操作:

查看文件头1行内容
tail -n 1 smartd.conf

实时追踪文档所有更新
tail -f hello.txt

覆盖 > 和 >> 追加
基本语法:

cat 文件1 > 文件2
cat 文件1 >> 文件2
echo ‘内容’ >> 文件
案例操作:

将ls查看信息写入到文件中
ls -l > file.txt

将ls查看信息追加到文件中
ls -l >> file.txt

采用echo将hello单词追加到文件中
echo hello >> file.txt

ln 软链接

软链接也成为符号链接,类似于windows里的快捷方式,有自己的数据块,主要存放了链接其他文件的路径。

基本语法:
ln -s 原文件或目录 软链接名 # 给原文件创建一个软链接

经验技巧:
删除软连接:rm -rf 软链接名,而不是rm -rf 软链接名/
查询:通过ll可以查看,列表属性第1位是1,尾部会有位置指向。

案例操作:

创建软连接
ln -s hello.txt hi.txt

删除软链接
rm -rf hi.txt

进入软链接实际物理路径
ln -s …/hello.txt hi.txt
cd -P hi.txt

history 查看已经执行过历史命令

基本语法:
history (功能描述:查看已经执行过历史命令)
案例操作:

查看已经执行过的历史命令
history

之后可以输入!+指令号 执行历史命令

时间日期命令

基本语法:
date [OPTION] … [+FORMAT]

选项说明:

-d<时间字符串>
显示指定的“时间字符串”表示的时间,而非当前时间

-s<日期时间>
设置系统日期时间

参数说明:

<+日期时间格式>
指定显示时使用的日期时间格式

date 显示当前时间
基本语法:

date 显示当前时间
date+%Y 显示当前年份
date+%m 显示当前月份
date+%d 显示当前是哪一天
date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
案例操作:

显示当前时间信息
date

显示当前时间年月日
date +%Y%m%d

显示当前时间年月日时分秒
date “+%Y-%m-%d %H:%M:%S”

date 显示非当前时间
基本语法:

(1)date -d ‘1 days ago’ (功能描述:显示前一天时间)
(2)date -d ‘-1 days ago’ (功能描述:显示明天时间)

date 设置系统时间
基本语法:date -s 字符串时间
案例操作:

设置系统当前时间
date -s “2020-06-19 20:52:10”

cal 查看日历
基本语法:cal 选项 # 不加选项,显示本月日历

选项说明:

具体某一年
显示这一年的日历
案例操作:

查看当前月的日历
cal

查看2020年日历
cal 2020

用户管理命令

useradd 添加新用户
基本语法:

useradd 用户名 (功能描述:添加新用户)
useradd -g 组名 用户名 (功能描述:添加新用户到某个组)
案例操作:

添加一个用户
useradd tangseng

passwd 设置用户密码
基本语法:
passwd 用户名 # 设置用户密码
案例操作:

设置用户的密码
passwd tangseng

id 查看用户是否存在

基本语法:
id 用户名

操作案例:

查看用户是否存在
id tangseng

cat /etc/passwd 查看创建了哪些用户
基本语法:cat /etc/passwdsu 切换用户
su:switch user 切换用户
基本语法:

su 用户名称 切换用户,只能获得用户执行权限,不能获得环境变量
su - 用户名称 获得执行权限和环境变量
案例操作:

切换用户
su tangseng

echo $PATH
exit
su - tangseng
echo $PATH

userdel 删除用户
基本语法:

userdel 用户名 (功能描述:删除用户但保存用户主目录)
userdel -r 用户名 (功能描述:用户和用户主目录,都删除)
案例操作:

删除用户但保存用户主目录
userdel tangseng
ll /home/

删除用户和用户主目录,都删除
useradd zhubajie
ll /home/
userdel -r zhubajie
ll /home/

who 查看登录用户信息
1.基本语法
(1)whoami (功能描述:显示自身用户名称)
(2)who am i (功能描述:显示登录用户的用户名)
2.案例操作
(1)显示自身用户名称
whoami
(2)显示登录用户的用户名
who am isudo 设置普通用户具有root权限
1.添加tianliang用户,并对其设置密码。
useradd tianliang
passwd tianliang
2.修改配置文件
vi /etc/sudoers
修改 /etc/sudoers 文件,找到下面一行(91行),在root下面添加一行,如下所示:

Allow root to run any commandsanywhere

root ALL=(ALL) ALL
tianliang ALL=(ALL) ALL
或者配置成采用sudo命令时,不需要输入密码

Allow root to run any commandsanywhere

root ALL=(ALL) ALL
tianliang ALL=(ALL) NOPASSWD:ALL
修改完毕,现在可以用tianliang帐号登录,然后用命令 sudo ,即可获得root权限进行操作。

3.案例操作

用普通用户在/opt目录下创建一个文件夹
sudo mkdir module
chown tianliang:tianliang module/

用户分类(root用户、虚拟用户、普通真实用户)
Linux是多用户、多任务操作系统,按照用户角色划分

root用户:系统唯一,是真实的,可以登陆系统,可以操作系统任何文件和命令,拥有最高权限。

虚拟用户:这类用户也被称之为伪用户或假用户,与真实用户区分开来,这类用户不具有登陆系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、ssh、mail等。这类用户都是系统自身拥有的,而非用户人为添加的,当然我们也可以添加虚拟用户。

普通真实用户:这类用户能登陆系统,但只能操作自己家目录的内容。权限有限,这类用户都是系统管理员自行添加的。本节内容用到的用户为普通用户,用来完成自身需求操作的系统使用账户。在/etc/passwd中可以看到各种账户的存在。

用户组
定义:具有相同特征的用户的集合体。
特点或作用:如果要让多个用户具有相同的权限,可以把用户定义到同一用户组,然后修改文件或目录的权限让这一用户组具有一定的操作权限。

常用命令

  1. 创建用户
    useradd tianliang //新建tianliang用户
    passwd tianliang //给tianliang用户设置密码
  2. 显示用户信息
    id user //查看用户的uid、gid、groups属性
  3. 创建用户组
    groupadd tlgroup//新建tlgroup工作组
    useradd -g tlgroup tianliang //新建tianliang用户并增加到tlgroup用户组。
    其中-g所属组 -d家目录 -s所用的shell
  4. 给已有的用户增加工作组
    usermod -g tlgroup tianliang //修改用户的gid,即修改所属组
    gpasswd -a tianliang tlgroup //将用户追加到组tlgroup中
    usermod -G tlgroup tianliang //将用户追加到组tlgroup中,tlgroup为非主组
  5. 删除用户账号
    userdel tianliang//永久删除该用户,不清除其/home/tianliang目录
  6. 彻底删除用户:是否删除该用户的家目录等相关文件来区分
    userdel -r tianliang //删除tianliang用户及其家目录下的所有数据
  7. 从用户组中删除用户
    gpasswd -d tianliang tlgroup //从组tlgroup中删除掉tianliang用户
  8. 删除用户组
    groupdel tlgroup //删除组,但当该组是某个用户的主组的时候,不能删除
  9. /etc/passwd文件解析
    该文件存储的是操作系统用户信息,该文件为所有用户可见,包含7个字段信息,通过cat /etc/passwd查看如下

文件权限命令
1.权限介绍

Linux针对文件权限分为三组:用户,用户组,其他。我们使用命令ls -l或者ll,以列表的格式化形式,即可查看文件或者目录对应的权限信息。

文件列表信息的字符意义,文件权限共10个字符,其意义分别为:

第一个字符,文件类型
d:表示文件目录
-:表示文件
|:表示连接文件
b:表示设备文件里的可供存储的接口设备
c:表示设备文件里面的串行端口设备,如键盘
第2~4个字符:用户权限
第5~7个字符:用户组权限
第8~10个字符,其他用户权限
在这里插入图片描述

对于文件权限可分为3种
在这里插入图片描述

2.常用命令

chmod
chmod:更改文件、文件夹权限。权限设置分2种,分别可以使用数字和符号。

语法:chmod [-R] 权限文件/目录
选项与参数:-R递归的持续更改,连同子目录下的所有文件一起更改
数字修改法
使用ll input.txt查看文件原来权限,使用chmod 755 input.txt更改权限,修改后,使用ll input.txt再次查看文件权限。

符号修改法
使用ll input.txt查看原始权限,使用chmod u=rwx,g=rwx,o=rwxinput.txt,修改后再次使用ll input.txt查看文件权限。

chown
chown:更改文件所有者。此命令是change owner的简称,不过要被改变的用户要在/etc/passwd文件内存在才行,否则会报错,一般为root用户调用较多。

语法:chown [-R] 用户文件/目录 或者 chown [-R] 用户:组名 文件/目录选项与参数:-R递归参数(recursive)的级联更改,连同子目录下的所有文件一起更改。

更改文件的用户名和所属组:chown test:test input.txt
更改文件夹的所属用户名:chown -R test data
更改文件夹所属的用户组:chown -R :test data

chgrp
chgrp:更改文件所属用户组。此命令是change group的简称,要求被改变的组名要在/etc/group文件内存在才行,否则会报错。

语法:chgrp [-R] 用户组 文件/目录

选项与参数:-R 递归的级联更改,连同子目录下的所有文件一起更改。

递归更改文件夹所属用户组:chgrp -R test data

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值