基础

linux的目录结构

linux的目录结构是一个树形结构
windows系统可以拥有多个盘符,如C盘 D盘 E盘 F盘
linux没有盘符这个概念,只有一个根目录/,所有文件都在它下面

linux路径的描述方式

在linux系统中,路径之间的层级关系,使用:/来表示(D:\data\work\hello.txt)
在windows系统中,路径之间的层级关系,室友:\来表示(/usr/local/hello.txt)

什么事命令行、命令

命令行:即linux终端(terminal),是一种命令提示符页面。以纯“字符”的形式操作系统,可以使用各种字符化命令对系统发出操作指令
命令:即linux程序。一个命令就是一个linux的程序。命令没有图形化页面,可以在命令行(终端中)提供字符画的反馈,本体就是一个个的二进制可执行程序,类似windows中的.exe文件

linux命令基础格式

command [-options] [parameter]
command:命令本身
-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节
parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

home目录概念

每一个用户在linux系统的专属目录,默认在:/home/用户名
当前工作目录:即当前所在的目录

ls 命令 list

指定要查看的文件夹(目录)的内容,如果不给定参数,就查看当前工作目录的内容
-a all,全部,可以展示出隐藏的内容
-l long format,长格式,以列表的形式展示内容,并展示跟多细节
-s human-readable,以更加人性化的方式显示文件的大小单位,需要和-l命令组合使用

参数组合使用的形式

  1. ls -l -h
  2. ls -lh

cd 命令 change derectoty

cd [linux路径]
不使用参数切换工作目录到当前用户的home目录

pwd 命令 print work directory

输出当前所在的工作目录

相对路径、绝对路径

绝对路径:以跟目录为起点
相对路径:以当前目录为起点

特殊路径符:

. 表示当前目录 cd ./desktop ,这种写法与cd desktop是一样的
.. 表示上一级目录 cd ../..切换到上两级目录,以此类推
~ 表示home目录,cd ~切换到home目录,cd ~/desktop切换到home内的desktop目录

mkdir 创建目录(文件夹)make directory

mkdir [-p] 路径
-p parents 表示自动创建不存在的父目录

touch 命令 创建一个新的文件

touch是触摸的意思,为什么用这个单词来作为命令创建文件呢
这个命令的本质是用来更新文件的时间戳,即访问时间和修改时间,所以用touch是合理的。第一次触摸没有就会创建文件

cat 命令 concatenate 查看文件

concatenate 是连接拼接的意思
该命令的主要作用是拼接文件并输出,cat test1.txt test2.txt 会把test1的内容拼接在test2后面并输出
只是非运维多用于查看单个文件

more 逐页显示文本的内容,支持翻页

空格 下一页
b 上一页
q 退出

cp 命令 copy 复制文件、文件夹

[-r] recursive,用于复制文件夹,表示递归
cp -r 被复制的文件夹 新的文件夹

mv命令 move,用于移动文件、文件夹

mv 被移动的文件、文件夹 要移动去的地方
如果目标文件夹、文件不存,则会有改名的效果,确保目标存在

rm命令 remove,用于删除文件、文件夹

rm [-r -f] 参数1 参数2 参数3
[-r] recursive,用于删除文件夹,表示递归
[-f] force,强制删除(不会弹出提示确认信息)
支持通配符,test 匹配任何以test开头的内容,以此类推
rm -rf /* 删除根目录下的所有内容

which命令 查看命令程序文件存放的位置

which cd

find命令 查找文件

find 起始路径 -name '被查找文件名' 按文件名查找。引号最好带,如果文件名中有特殊字符或空格,会导致命令错误
find 起始路径 -size +|-n [kMG] 按文件大小查找(k是小写kb)。
find / -size -10k ,查找小于10K的文件
find / -size +1G ,查找大于1G的文件

grep命令 global regular expression print,全局正则表达式打印。用于从文件中通过关键字过滤文件行

grep [-n] 关键字 文件路径
[-n] 结果中显示匹配文件行的行号

wc命令 word count,单词统计。统计文件的行数、单词数量等

wc [-c -m -l -w] 文件路径
[-c] bytes,统计字节数
[-m] characters,统计字节数
[-l] lines,统计行数
[-w] words,统计单词数

| 管道符,将左边命令的结果作为右边命令的输入

grep haha test.txt
cat test.txt | grep haha
上面的示例中,cat test.txt 的结果作为grep haha [..]的输入
可以嵌套使用 cat test.txt | grep haha | grep eded

echo 回声、回响,将输入的内容原样输出到终端或标准输出设备。输出指定内容

echo pwd 被``(反引号)包围的内容会被当成命令去执行,该语句将会输出当前的工作路径,而不是打印出pwd字符串

重定向符

·> 覆盖
·>> 追加
echo "haha" > test.txt 将haha覆盖test.txt的内容

tail 尾巴、尾部。查看文件尾部内容,跟踪文件的最新跟新

tail [-f -num] 路径
[-f] follow 跟随,持续跟踪
[-num] 查看尾部多少行,不填默认10行
tail -5 test.txt 查看5行
ctrl+c 结束进程

vi/vim

vim 文件路径
文件不存在时会创建文件
vim是vi的增强版,vim兼容全部的vi功能,建议使用vim

三种工作模式
命令模式:通过键盘快捷键快速的对整个文本惊醒操作
输入模式:编辑文本
底线命令模式:整体文件的控制,以:开始,通常用于文件的保存、退出

打开文件进入命令模式,命令模式通过快捷键进入输入模式,输入模式通过esc退出输入模式进入命令模式,命令模式下通过:进入底线命令模式

命令模式常用快捷键


image.png

image.png

底线命令模式


image.png

linux的用户、权限

su (switch user)切换用户

语法:su - 用户名
-符号表示是否在切换用户后加载环境变量,建议带上
参数:用户名,表示要切换的用户,可以省略,表示切换到root
切换用户后,可以通过exit命令退回上一个用户,或ctrl+d
普通用户切换到其它用户需要输入密码
root用户切换到其他用户,无需密码

sudo命令,临时获取root权限

在linux中不建议长期使用root用户,避免误操作,
可以使用【sudo 其它命令】这种方式,对命令临时授予root权限
并不是有所用户都有sudo权力,需要root用户对其它用户配置sudo认证

配置sudo认证
root用户下,执行visudo,会自动通过vi编辑器打开:/etc/sudoers
在文件最后添加:
eden ALL=(ALL) NOPASSWD:ALL
其中NOPASSWD:ALL表示使用sudo命令,无需输入密码

用户、用户组

linux系统支持多个用户、多个用户组、用户可以加入多个用户组中
linux权限管控单元是用户级别和用户组级别
这玩意时并集的关系,满足任意一个就有权限

用户组
groupadd 用户组名 创建用户组
groupdel 用户组名 删除用户组

用户
useradd [-g -d] 用户名 创建用户
-g 指定用户的组,不指定会创建同名组并自动加入,使用-g需要组已经存在,如果已经存在同名组,必须使用-g
-d 指定用户HOME目录,不指定,HOME目录默认在:/home/用户名
userdel [-r] 用户名 删除用户
-r 删除用户的home目录
id [用户名] 查看用户所属组
不带参数时查看当前用户

usermod -aG 用户组 用户名 将指定用户加入指定用户组

getent passwd 查看系统中的用户
用户名:密码(x):用户ID:组id:描述信息:home目录:使用终端
getent group 查看系统中组
组名称:组认证(x):组id

权限管控信息

chmod 修改权限(只有文件、文件夹所属用户或root用户可以修改)

chmod [-R] 权限 文件或文件夹
-R 对文件夹内的全部内容应用同样的操作
示例
chmod u=rwx,g=rx,o=x hello.txt
chmod -R u=rwx,g=rx,o=x test


image.png

image.png

image.png

image.png

chown 修改文件、文件夹的所属用户和用户组(只能root用户执行)

chown [-R] [用户][:][用户组]文件或文件夹
-R 递归,对文件夹内全部内容应用相同规则
示例
chown root hello.txt 将hello.txt所属用户修改为root
choen :root hello.txt 将hello.txt所属用户组修改为root
chown root:eden hello.txt 将hello.txt所属用户修改为root,用户组修改为eden
chown -R root test 将test文件夹的所属用户修改为root

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Linux 目录结构及文件基本操作 Linux 目录结构 在讲 Linux 目录结构之前,你首先要清楚一点,那就是...
    Jachin111阅读 3,308评论 0 0
  • 登录 完整的远程登录方式:ssh -p 端口号 用户名:用户密码@服务器地址注:其中的端口号默认是22,默认值可以...
    简公孙策阅读 3,025评论 0 0
  • 相对路径绝对路径 相对路径:从当前目录开始 绝对路径:从根目录开始 ·命令结构 选项 ...
    a大数据小白白阅读 1,544评论 0 3
  • 自己以前整理的笔记,不太完整,后续会不断更新。。。。 [ ] 补全Linux常用命令,如末行模式下的命令、保存相关...
    alan2yang阅读 3,544评论 0 6
  • 03、04、05、06————linux命令、目录相关命令、文件相关命令、远程管理命令 终于进入正题了!!!!!!...
    寒夜将明阅读 876评论 0 0

友情链接更多精彩内容