目录
查找帮助&基本语法格式
命令分为两种:
①内嵌命令:内核自带的命令(内核≠系统)
②外部命令:通过安装软件获得的命令
Q:如何查看命令的种类?
A:type 需要查询的命令。
e.g:type cd
查得:cd是shell内嵌
- 注意:提到内嵌都是内嵌命令,没有提到内嵌都是外部命令
命令的帮助信息查找
1、内嵌命令前面写help
2、外部命令后面接 --help
e.g:查询ls命令的帮助信息
ls --help
3、man手册帮助查询
man 需要查询的命令
e.g:查找ls命令的帮助信息
man ls
按q退出
命令的语法格式
命令[选项]...[参数]...
- 选项:一般是 - 加上字母,e.g:-a
- 参数:一般是文件名或用户名等具体的对象
- []:表示该内容可有可无
- ...:表示该内容可以出现多个
选项分为两种:
①长选项:-- 开头,后面一般接完整的单词
②短选项:- 开头,后面一般是单个字母
linux常用命令
1、ls
功能:查看指定目录下的文件名
语法:ls[选项]...[文件]...
常用选项:
- -a:查看以.开头的隐藏文件
- -l:查看文件的详细信息,可以简写为ll
- -d:查看目录本身,通常和-l一起使用
- -h:以人的习惯来显示,通常和-l一起使用
2、cd
功能:切换目录
语法:cd 路径
绝对路径:从根目录开始写,直接从根目录开始一直写到目标路径即可
相对路径:从当前目录开始写,需要注意当前自己的位置
- cd ..:返回上一层
- cd -:返回上一次所在目录
- cd ~:回家
- .:表示当前目录位置
3、pwd
功能:查看当前所在位置的绝对路径
4、init 0
功能:关机
5、init 6
功能:重启
init有0~6,一共7个命令,常用为init 0和init 6。
其他快捷键
1、ctrl+c
功能:不执行本行,另起一行(类比注释)
2、ctrl+l
功能:清屏
文件管理
1、linux的文件种类
linux一切都是文件,文件种类分为7种:
- -:普通文件
- d:目录文件
- l:链接文件(类似于快捷方式)
- b:块设备文件(e.g:硬盘)
利用ls命令查看,可以从颜色分辨,但颜色可以自定义;所以从第一列字符按以上分类辨别文件种类。
2、文件的命令规则
名字不要带/,以及特殊符号
3、创建文件
①touch:当文件不存在时,创建文件;当文件存在时,刷新文件的时间戳
语法:touch 文件名
②mkdir:创建目录文件
语法:mkdir [选项] 文件夹名
常用选项:
- -p:递归式创建文件夹(以此一次创建多个夹中夹)
4、删除文件
rm:删除文件
作用:删除文件(无法删除目录)
语法:rm [选项]... 文件名...
常用选项:
- -r:删除目录
- -f:静默式删除(不再询问)
e.g:rm -rf ./*
静默式删除当前目录下所有文件
5、修改文件
①vi/vim修改文件内容
②cp
作用:复制文件
语法:cp [选项] 源文件路径 目标路径
常用选项:
- -r:拷贝文件夹
③mv
作用:移动文件或文件夹
语法:mv 源文件路径 目标路径
作用:重命名
语法:mv 源文件路径 源文件路径(但修改文件名)
6、查看文件
①ls:查看指定目录文件下的文件
②cat
作用:正向(从开头第一行)输出文件所有内容(适合看小型文件)
语法:cat [选项] 文件名
常用选项:
- -n:带行号显示文件内容
③tac
作用:反向(从结尾倒数第一行)输出文件所有内容
④more
作用:分页查看文件内容,可以回退
⑤less
作用:分页查看文件内容,有百分比进度条,但不可回退查看
⑥head
作用:查看文件开头,默认查看文件前十行
⑦tail
作用:查看文件结尾,默认查看文件后十行
⑧|
管道符,将前一个命令的输出结果作为后面一个命令的操作对象
vi/vim编辑器
vim是vi的增强版,vim需要另行下载。
vim的三个模式:命令模式、编辑模式、末行模式。
语法:vim 文件名
作用:用vim编辑文件(直接进入命令模式)
编辑模式和末行模式之间需要进入命令模式之后才能跳转,两者之间不互通。命令模式可以进入编辑或末行模式。(命令模式相当于一座桥,编辑模式和末行模式相当于两岸)
三者关系:
编辑模式<---->命令模式<---->末行模式
三者切换:
- 输入o、i、a,三选一,进入编辑模式
- 输入 : ,进入末行模式(退出vim输入:q)
- 通过ESC键回退到命令模式
命令模式
特征:左下角空白或显示文件名
作用:控制光标移动,可对文本进行复制、粘贴、删除和查找等工作
操作:
- u:撤回
- ctrl键+r:撤回我的撤回
- gg:回到首行的行首(回到开头)
- ngg(n为非小键盘的数字键):回到n行行首
- G:回到末行
- yy:复制光标所在行
- nyy:复制光标所在行往下n行
- dd:剪切(删除)光标所在行
- ndd:剪切(删除)光标所在行往下n行
- p(P):粘贴光标所在下(上)一行
- /:开始关键字搜索
输入模式
特征:左下角是插入的中文或英文
作用:正常的文本录入
末行模式
特征:左下角是冒号
作用:保存或退出文档,以及设置编辑环境
操作:
- w:保存
- q:退出
- wq:先保存后退出
- q!:强制退出
- wq!:强制保存退出
- set nu:带行号显示
用户管理
用户和组的关系
在linux系统中的用户指的是对操作系统实现不同功能身份的人。(用户不一定是人,可能是测试账号等。)
组表示一个或多个用户合成的一个群体。
用户和组的关系:
- 组中可以没有用户、也可以有一个活着多个用户。
- 用户只有一个主要组,可以同时属于多个组,除了主组以外的其他组成为附属组。
每个用户都有一个独一无二的uid号(身份证号)。
- 0:是超级管理员的uid号
- 1~999:是系统用户的uid号
- 1000~?:是普通用户的uid号
用户管理
文件了解
1、了解/etc/passwd文件
passwd文件保存着所有的账户信息
账户名称:代指密码:uid:gid:注释信息:家目录:登录shell
2、了解/etc/shadow文件
shadow文件保存着账户加密过后的密码
3、了解/etc/group文件
group文件保存着所有的组信息
组名:组密码:gid:组成员
4、了解/etc/gshadow文件
gshadow文件保存着组加密过后的密码
5、了解/etc/skel文件
家目录的模板文件目录
管理操作
1、查看用户信息
语法:id 被查看的用户名
2、useradd
功能:创建用户
语法:useradd [选项]... 用户名
创建某用户时,如果没有指定主要组,系统会自动创建与之同名的组,并将该组设置为该用户的主要组
常用选项:
- -g:指定用户的主要组
- -G:指定用户的附加组
- -M:不创建家目录
- -s:指定用户的登录shell(/sbin/nologin为不能登录系统)
- -r:创建系统用户
- -u:指定用户uid
创建新用户,uid一般默认为最大uid用户的uid+1
e.g:创建给程序使用的用户
useradd -M -s /sbin/nologin username
3、su
功能:不完整切换用户(被上一个账号嵌套)
语法:su 用户名
退出:exit
4、passwd
功能:交互式修改指定用户的密码
语法格式:passwd 用户名
非交互式修改密码:
echo "用户名:密码"|chpasswd
5、groupadd
功能:创建组
语法:groupadd 用户名
6、userdel
功能:删除用户
语法:userdel [选项] 被删除的用户名
常用选项:
- -r:删除用户及其目录(彻底删除用户)
7、groupdel
功能:删除组(不能删除用户的主要组)
语法:groupdel 被删除的组名
8、usermod
功能:修改用户信息
语法:usermod 选项 选项的参数 用户名
常用选项:
- -g:修改用户的主要组
- -G:覆盖式修改用户的附加组
- -a:追加修改用户的附加组,必须和-G一起使用,必须写成-aG
- -s:指定用户的登录shell
- -c:给账户设置描述性信息,即passwd文件内容的第五列
9、gpasswd
功能:组管理命令
语法:gpasswd 选项 选项的参数 组名
常用选项:
- -a:添加用户
- -d:删除用户
- -M:重置组成员,e.g:gpasswd -M username0,username1...
10、groupmems
功能:组管理命令
常用选项:
- -g:指定组名
- -l:查看组成员
权限管理
对于文件,人的三种身份:
- 所有者:理解为文件的拥有者
- 所属组成员:在文件的所属组内的用户
- 其他人:非所有者也非所属组成员
使用ll命令可以查看权限,为第二至第十列字符分辨:
权限一般为9位、3类、3种
rwx r-- r--
所有者 所属组 其他人的权限
对文件来说
- r:可读权限——cat、tac、more、less、head、tail
- w:可写权限——vim(vim需要可读可写,涉及到两个权限:rw)
- x:可执行权限——作为脚本被执行
对目录来说
- r:可读权限——ls
- w:可写权限——touch、mkdir、cp、mv
- x:可执行权限——cd(目录最重要的权限,需要cd进入)
文件搜索命令
文件查找命令 find
格式:find pathname -options [-print] [action]
命令 路径名称 选项 输出内容 动作
以名称为条件:
-name 精确搜索
-iname 忽略字母大小写
e.g:
[root@server129 data]# find ./ -name "test*"
#查找当前目录下以test为开头的文件
./recy-bin/test.txt
./test
./test.txt
./test1.txt
[root@server129 data]# find ./ -iname "test*" #忽略大小写
./recy-bin/test.txt
./test
./test.txt
./test1.txt
./TEST.TXT
- 星号*作用:
- 查找test开头:"text*";查找 test结尾:"*test"
以时间为条件:
-mtime、-atime、-ctime、-newer、-anewer、-cnewer、-amin、-cmin等,
- +n:查找比n天前更早的文件或目录。
- -n :查找在n天内更改过属性的文件或目录。
- n :查找在n天前(指定那一天)更改过属性的文件或目录。
e.g:
find ./ -mtime 3 //查找3天前更改过的文件
find ./ -mtime -3 //查找3天内更改过的文件
find ./ -mtime 0 //查找今天更改过的文件
注:
- atime 最后访问时间
- mtime 最后修改时间
- ctime 最后修改时间,这里包括属性和权限