一、文件及目录管理命令
绝对路径:完整路径,由根目录 / 写起 相对路径:当前目录写起
处理文件、目录的命令:
ll、ls、ls-l、ls-al:-l详细列表,-a所有文件
cd、cd ..、cd ~、cd /:切换目录 (~用户对应家目录)(./当前路径)
pwd:显示当前目录(绝对路径)
mkdir、mkdir -p:创建一个新目录、创建一个多级目录(need root 权限)
rmdir:删除一个空目录
touch:创建新文件
rm -rf:删除文件/目录
cp、cp -r:复制文件/目录、-r递归(目录下所有内容) (可以移动复制) eg:cp a.txt b
mv:移动/改名文件/目录 (可以移动改名) eg:mv a.txt b/b.txt
history:查看执行过的命令(使用时:!编号)
man:帮助
help:帮助
lrzsz:rz(从客户端上传文件到服务端) sz [文件](从服务端发送文件到客户端)
二、文件的权限
ls -l列出目录下的详细信息,所有者、所在组、其他组 权限格式10位:X XXX XXX XXX
第一个字符表示对象类型:d(目录)、-(文件)、l(link file)、b(块文件、硬盘)、c(字符设备键盘,鼠标)
rwx-作用文件:r可以读取查看、w可以修改不能删除、x可以被执行
rwx-作用目录:r可以读取(ls查看目录内容)、w可以修改(目录内创建+删除+重命名目录/文件)、x可以进入该目录
eg:drwxr-xr-x. 3 root root 4096 4月 18 2021 newdisk 3子目录个数 4096表示目录
eg:-rw-r--r--. 1 root root 373 11月 10 15:57 c.txt 1硬链接数 373表示文件大小
可以用(./ hello.txt)判断可执行(也可以进入)
chmod:改变所选文件或目录的访问权限
1、使用符号改变:chmod [ugo] [+-=] [rwx] [文件/目录] eg:chmod u+x,o+w hello
2、使用数字改变:(r=4、w=2、x=1) chmod [ugo] [文件/目录] eg:chmod 777 hello
chmod -R:改变目录下所有文件及目录的权限
chown:改变文件所有者 chown [owner] [文件/目录] eg:chown xf hello
chown root.root [文件/目录]:同时修改文件所有者,所在组
chown root:root [文件/目录]
chown -R:改变目录下所有文件/目录所有者
chgrp:改变文件所在组 chgrp [新组] [文件/目录] eg:chgrp xf hello
三、系统目录结构
只有一个根目录/
/bin:binary,存放最经常使用的命令(可以被root与一般账号使用)
/sbin:系统管理员程序
/lib:共享库
/cgroup:
/etc:存放系统管理所需的配置文件和子目录 (root有权限修改)
/etc/passwd:用户的配置文件,记录用户各种信息:用户名:口令:用户id:组id:家目录:shell
用户id:0(超级用户),1-499(系统用户),500以上(自己创建的用户)
/etc/shadow:口令的配置文件
/etc/group:组的配置文件,记录组的信息:组名:口令:组id
/home:存放普通用户的家目录,每个用户都有一个自己的目录
/root:root的家目录
/boot:Linux启动文件
/dev:所有的硬件用文件的形式存储,文件=设备
/media:U盘、光驱等识别后,挂载到此目录
/mnt:让用户临时挂载别的文件系统,可以将外部的存储挂载到此目录上,d:/myshare
/opt:额外安装软件的目录
/usr/local:另一个安装软件额外目录,一般通过编译源码方式安装的程序
/var:variable,存放不断扩充的东西,包括各种日志文件
/selinux:
/tmp:存放临时文件
/srv:service,服务启动后的数据目录
/sys:
/proc:虚拟的目录,系统内存的映射
四、文件编辑
vim是Linux最基本的文本编辑器,有3种模式(一般模式 i 编辑模式 :命令模式)
vim -v:查看当前版本
1、一般模式:拷贝当前行 yy,拷贝当前行向下的5行 5yy,粘贴 p,删除当前行 dd,删除当前行向下的5行 5dd,文档最末行G,最首行gg,u撤销动作,ZZ退出
2、编辑模式:输入修改
3、命令模式:查找某个单词 命令行下/关键字,输入n查找下一个,/nohl消除高亮,设置取消文件行 号 set nu和set nonu,光标移动到第20行shift+g(先设置行号,esc到一般模式,20,shift+g),q(没有修改退出)、q!(修改不保存修改退出)、wq(保存修改退出)
文件查看命令:(windows下文本查看命令:type hello.c )
cat:concatenate,查看内容较少的文件,-n 显示行号 eg:cat -n /etc/profile
tac:是cat的逆顺序
more:一页一页的显示文本内容(可以看%,不能往前翻)
less:与more类似,比more更好,可以前后翻页 (q退出查看)
head:默认看文件前10行 eg:head -n 20 a.txt
tail:默认看文本后10行 -n +5表示从第5行显示至末尾 实时监控-f eg:tail -n 20 a.txt tail -f mydate.txt
nl:等同于cat -n
>:输出重定向,内容覆盖
>>:追加,不覆盖,追加内容至尾部
eg:ls -l > a.txt cat a.txt > b.txt ls -l /home/ > /home/a.txt cal >> /home/a.txt
echo:使用echo输出环境变量,输出当前环境路径 echo $PATH
ln:软链接 eg:ln -s /root linkToRoot
grep:过滤查找 -n显示匹配行号 -i忽略字母大小写
|:管道符,将前一个命令的处理结果输出传递给后面的命令处理 eg:cat hello.txt | grep -ni yes
eg:文件总共28行,查看3到9行
head -n 9 b.txt | tail -n +3
head -n 9 b.txt | tail -n 7
tail -n +3 b.txt | head -n 7
tail -n 26 b.txt | head -n 7
find:查找目录下所有子目录及文件,find [范围] [选项] [目录/文件]
-name:根据文件名(* 可以表示多个字母,?只能表示单个字母,全用双引号引起来)
-type:+f(显示目录下及子目录的文件)+d(显示目录)
-user:查找指定用户名的所有文件/目录 eg: find /home -user xf
-size:按照文件大小查找(+nM/k 大于,- 小于,= 等于) eg: find / -size +100k
locate:定位文件路径(前需要updatedb) eg: locate hello.c
五、make工程管理工具
gcc编译器
gcc -v:查看是否安装gcc编译器
gcc hello.c:编译,编译生成的可执行文件默认为a.out ,可以用chmod改一下权限
gcc hello.c -o hello:-o 修改生成的可执行文件名称
gcc sr1.c src2.c src3.c -o src :编译多个文件
工程管理工具文件:Makefile,使用make工具解释Makefile文件中的指令进行项目编译
make -v:查看当前系统make工具版本
acess:先编写makefile文件,再使用make工具解释makefile文件中的编译命令
makefile文件规则:
target:prerequisites
(tab) command (make执行)
target:目标,最终生成文件,目标文件,可执行文件
prerequisites:依赖,目标文件的输入文件
command:命令,每个命令前有一个tab,且必须单独一行(make是根据tab来识别命令行的)
clean:伪目标,make clean 执行删除操作
六、用户、组
多个Linux用户可以属于一个组,组是用来管理的
useradd:添加用户
useradd -d:添加用户时指定家目录 eg:useradd -d [目录] [用户名]
useradd -g:添加用户时指定所在组 eg:useradd -g [用户组] [用户名]
passwd [用户名]:密码
userdel [用户名]:删除用户保留家目录
userdel -r [用户名]:删除用户及家目录
id:查询
su:切换用户
exit:返回原来用户
usermod -g:修改用户的组 eg:usermod -g [用户组] [用户名]
groupadd [组名]:添加组 (一般先添加组,然后添加用户时指定所在组)
groupdel [组名]:删除组 (组里面没用户才能删除)
groups [用户名]:查看用户属于哪个组
gpasswd -a:添加一个用户再到一个组 eg:gpasswd -a [用户名] [组名]
gpasswd -d:从组中移除用户 eg:gpasswd -d [用户名] [组名]
七、日期,日历
cal与date
cal:显示当前日历,cal 2021,2021的所有日历
date:显示当前日期
date "+%Y-%m-%d":显示年月日(2021-11-11)
date "+%Y %m %d":显示年月日(2021 11 11)
date "+%Y-%m-%d %H:%M:%S":显示年月日时分秒
date -s 字符串时间:设置时间 eg:date -s "2021-11-11 11:11:11"
八、压缩和解压
gzip(gunzip)(打包文件后源文件消失)、zip(unzip)、tar -zcvf(tar -zxvf)、tar -cvf(tar -xvf)
tar -zcvf:打包 eg:tar -zcvf ab.tar.gz a.txt b.txt tar -zcvf c.tar.gz /home/
tar -zxvf:解压 eg:tar -zxvf ab.tar.gz(当前目录) tar -zxvf c.tar.gz -C /home/bb/(指定目录)
tar -cvf:打包生成.tar文件
tar -xvf:解压.tar文件
zip:打包 eg:zip a.zip a.txt (打包文件) zip -r b.zip /home/ (打包目录)
unzip:解压 eg:unzip a.zip (当前目录) unzip -d /home/xf/ a.zip (解压到指定目录)
gzip [文件]:压缩文件(压缩后源文件消失) eg:gzip a.txt 生成a.txt.gz文件
gunzip:解压.gz文件 eg:gunzip a.txt.gz
九、运行级别
Linux系统的运行级别(常用运行级别是3和5)
0:关机
1:单用户(找丢失密码)
2:多用户状态没有网络服务
3:多用户有网络服务(命令行)
4:系统未使用保留
5:图形界面
6:系统重启
系统的运行级别配置文件/etc/inittab vim /etc/inittab
init:修改运行级别 eg:init 3
如果忘记了root密码,怎么找回?
思路:进入单用户模式,修改root密码。因为进入单用户模式,root不需要密码就可以登陆
过程:开机 > 在引导时输入回车键 > 看到一个界面输入e > 看到一个新的界面,选中第二行输入e > 在这最后一行输入1,再输入回车键 > 再输入b 这时候就会进入到单用户模式 > passwd修改root密码
|
|