这里写目录标题
一. 文件
Linux一切皆文件
1. 系统文件夹说明
Bin:全称binary,含义是二进制。该目录中存储的都是一些二进制文件,文件都是可以被运行的。
Dev:该目录中主要存放的是外接设备,例如盘、其他的光盘等。在其中的外接设备是不能直接被使用的,需要挂载(类似windows下的分配盘符)。
Etc:该目录主要存储一些配置文件。
Home:表示“家”,表示除了root用户以外其他用户的家目录,类似于windows下的User/用户目录。
Proc:process,表示进程,该目录中存储的是Linux运行时候的进程。
Root:该目录是root用户自己的家目录。
Sbin:全称super binary,该目录也是存储一些可以被执行的二进制文件,但是必须得有super权限的用户才能执行。
Tmp:表示“临时”的,当系统运行时候产生的临时文件会在这个目录存着。
Usr:存放的是用户自己安装的软件。类似于windows下的program files。
Var:存放的程序/系统的日志文件的目录。
Mnt:当外接设备需要挂载的时候,就需要挂载到mnt目录下。
2. 文件类型
linux系统文件类型有七种:
普通文件:-
目录文件:d
设备文件:字符设备:c,块设备:b
软连接:l
管道文件:p
套接字:s
对应颜色
绿色文件: 可执行文件,可执行的程序
红色文件:压缩文件或者包文件
蓝色文件:目录
白色文件:一般性文件,如文本文件,配置文件,源码文件等
浅蓝色文件:链接文件,主要是使用ln命令建立的文件
红色闪烁:表示链接的文件有问题
黄色:表示设备文件
灰色:表示其他文件
1. cd指令
含义:change directory 改变目录
进入到指定目录
cd /home/lsr
相对路径:
./表示当前路径,…/表示上级目录
绝对路径:
从/开始写起,/代表根目录,如/home/lsr
返回到上级目录
cd …
返回到家目录
cd ~
返回到根目录下
cd /
2. ls指令
含义:list
显示指定路径下所有文件与文件夹
ls ./dir
可选项
ls -l 显示详细信息
ls -a 显示隐藏文件
ls -lh 以更友好的方式显示内存大小
这三个字母可以组合使用,具有他们的叠加效果
ls -la
ls -lah
共显示了七列信息,从左至右依次为:
权限、文件数、归属用户、归属群组、文件大小、创建日期、文件名称
3. mkdir指令
含义:make directory 创建目录
mkdir 文件夹名
1.创建多个文件
mkdir 文件夹1 文件夹2 文件夹3
2.指定目录创建
mkdir ./test/dir
3.在不存在的目录下多级创建
mkdir -p ./test/dir
4. touch指令
创建文件
touch 文件
tpuch 文件1,文件2
touch ./test/文件1
5. cp指令
复制文件或文件夹到指定位置
cp 被复制文件路径 复制到文件路径
注意:复制文件夹时要加-r选项
cp -r 被复制文件夹路径 复制到文件夹路径
6. mv指令
移动
mv 原本路径 移动到路径
重命名
mv 原文件名称 新文件名称
mv 1.c 1_1.c
7. rm指令
删除
rm 文件路径
删除文件夹
rm -r 文件夹路径
通配符删除(*匹配任意字符)
rm *.c 删除所有以.c结尾的文件
强制删除(不弹是否确认删除)
vm -f 文件路径
8. vim指令
需要安装vim软件
进行文件的修改与读写,如果文件不存在将会创建改文件
vim a.c
按 i 进入插入模式,可以进行内容修改
按esc键后按shift+冒号,进入末行模式,输入如下
q!强制退出
wq 保存后退出
q 文件没有修改直接退出
vim的配置,在个人配置文件下更改
vim .vimrc
1 set nu 行号
2 set cursorline 突出显示当前行
3 set tabstop=4 tab键长度
4 set hlsearch 高亮显示搜索内容
9. 输出重定向
可以将命令结果保存到文件中
> 覆盖输入,覆盖原有内容
>> 追加输入,将内容追加到原有内容之后
可以配合ls使用,文件可以不存在,不存在则创建
ls > a.txt
ls >> b.txt
10. cat指令
将文件内容显示到终端
cat 文件路径
合并文件(配合输出重定向使用)
cat 1.txt 2.txt > 3.txt
11. pwd指令
含义:print working directory 打印工作路径
直接打pwd即可
12. df指令
查看磁盘空间
df
可读性更高的方式,查看磁盘空间
df -h
13. free
查看内存使用情况
free
free -m 以mb单位查看内存
free -g 以gb单位查看内存
14. head
查看文件前几行,不写-n默认前十行
head test.txt
查看前五行
head -5 test,txt
15. tail
查看文件后几行,不写-n默认后十行
head test.txt
查看后五行
head -5 test,txt
动态查看文件内容,会随着文件的改变而动态显示内容
tail -f test.txt
16. less
查看文件,以较少的内容进行输出
less test.txt
按q退出
17. wc
统计文件行数、单词数、字节数
-lwc,不写默认都显示
对应 lines行数
words 单词书
bytes 字节数
wc test.txt
wc test.txt -l
18. date指令
显示当前时间
date
只显示显示年份
date +%F
显示年份加时间“+”
date “+%F%T”
显示一段时间之后的时间,单位day、month、year
date -d “-1day”
date -d “+1year”
19. cal指令
输出日历
输出当月日历
cal
cal -1
输出前一个月,当前月,后一个月日历
cal -3
输出整年日历
cal -y
20. 管道
| 管道,grep搜索含有指定字符
cat test.txt | grep 1
ls | grep y
相当于less
cat 路径 | less
21. ln指令
软链接,相当于快捷方式,删除原文件后快捷方式会损坏
删除快捷方式不需要加-r
ln -s ./test/test1 ./aa
硬链接,两个文件指向相同的地址,改动一个,另一个也随之改变
但删除其中一个,另一个仍然存在
不能创建文件夹的硬链接
ln -d a.c ./test/aa.c
21. 压缩、解压文件
压缩文件的后缀一般为.tar.gz
可用*表示全部文件
tar -zcvf a.tar.gz a b
tar -zcvf a.tar.gz ./test/*
tar -jzcf a.tar a b
z;调用gzip方式压缩
j:使用bzip2的方式压缩
c:创建文件
v:显示运行过程
f:指定文件名
tar xvf b.zip -C ./
tar xvf b.zip -C ./
z表示解压方式,可以省略,系统可以自动识别
-C表示解压到指定路径
22.软件安装与卸载
更新软件资源列表到本地
apt-get update
安装
sudo apt-get install 软件名
卸载
sudo apt-get remove 软件名
几个好玩的软件
cmatrix:代码雨
sl:小火车
cowsay:小动物
oneko:粘人的猫
23.用户管理
用户文件
etc/passwd 用户信息
etc/group 用户组信息
etc/shadow 密码信息
添加用户
sudo adduser ls
指定用户组和用户号,注意用户组要事先已经存在
sudo adduser -gid 1001 -uid 1012
更改用户id
sudo usermod -u 1012 lsr
更改用户名
sudo usermod -l ls lsr
更改属组,选项可以是组号,也可以是用户名
sudo usermod -g 1012 lsr
24.更改密码与切换用户
更改密码
passwd lsr
切换用户,不写用户名切换到root
su lsr
su
删除用户
sudo deluser lsr
删除用户同时删除家目录
sudo deluser --remove-home lsr
25.用户组管理
添加用户组
sudo addgroup lss
添加用户组并制定组号
sudo addgroup -gid 1012 lss
修改用户组号
sudo groupmod -g 1012 gro
修改用户组名
sudo groupmod -n gru gro
删除组
delgroup gro
26.更改文件所属
更换文件属主
sudo chown lsr a.c
更换文件属组
sudo chgrp grp a.c
同时修改
sudo chown lsr:grp a.c
查看当前登录用户
whoani\
27.文件权限管理
u属主,g属组,o其他用户
r读,w写,x可执行
+,-,=(覆盖)
修改权限
chmod u-x,g+r,o+w a.c
chmod u=rwx,g=rw,o=r a.c
数字方式修改权限,r4,w2,x1,数字为权限总和,数字必须是三位的,对应三种身份
chmod 764 a.c