Linux:无盘符,只有一个根目录(/)
Windows:有盘符
- Linux命令格式: cmd -option parameter
- cdm命令,就是一个操作
- parameter一般是要做的对象
- option一般是用来修改parameter的,就是这个是一个什么样的
- pwd 查看当前所处路径
- ls 查看当前路径下所有内容(蓝色:文件夹 白色:文件)
- cd 切换路径/打开路径
- cd.. 打开上一级路径
- tab 自动补全,可以补全文件目录
- 上方向键 取得上一个历史命令
- 下方向键 返回取得下一个命令
- clear 清空屏幕
- cd ~ 返回home目录
- ls -l 以列表形式查看查看所有内容(大小形式默认是字节 eg:4096字节) 可以简写为ll
- ls -a 显示隐藏内容(都是以.开头)
- ls -h 以KB显示
- ls xx 罗列xx目录下的所有文件
- * 代表一个或多个任意符合
- eg: *.txt 只查找txt结尾的文件
- ? 代表一个任意符号
- eg: ls?? 罗列由两个字符组成的文件
- [] 代表一个字符,且必须为括号里的某个
- eg: ls[1234]23.odt
- ls[1-4]23.odt
- touch 文件创建
- eg: touch test.txt 创建一个txt文件
- touch .test2.txt 创建一个隐藏文件(创建时以.开头)
- mkdir 创建目录
- eg: mkdir bb
- mkdir -p 创建多级目录
- rm 移除文件夹
- eg: rm 123.odt
- rm -d bb 删除文件夹(中间加-d或-r选项,表示bb是一个目录)
- mv 文件和文件夹移动
- eg: mv test.txt aa 将text.txt移动到aa文件夹下
- mv 125.txt ./126.txt 将125.txt移动到当前目录下且改名为126.txt(相当于重命名)
- cp 文件和文件夹复制
- eg: cp 125.txt aa 将125.txt复制到aa文件夹下
- 方式1:--help
- eg:rm --help
- 方式2:man
- eg:man rm
which查看命令所在位置
注意:which cd 为空,cd是shell内置的命令
方式1:ls通配符:仅限于当前目录下的模糊查找
- 方式2:find 搜索范围 搜索条件
- eg: find /home -name 123 //精确搜索
- find /home -name 123* //模糊搜索 其他用法 *123* 123??
- find /home -iname abc //选项-i,不区分大小写
- find / -size +409600 //根据文件大小搜索,+表示大于,-表示小于,=表示等于
- 补充:Ctrl + c 提前终止命令;
- 处理多文件查找时,需加单引号
- 1数据块 = 512字节byte = 0.5KB 200MB = 200*1024KB = 200*1024*2数据块
- 按文件类型搜索,文件类型有3种:1)文件:f 2)文件夹目录:d 3)软链接:l
- eg:find -type f //查找当前目录下所有文件
- find -type d //查找当前目录下的文件夹目录
- find -type l //查找当前目录下所有软链接
- 方式3:使用locate进行文件搜索(需要额外install)
- eg:locate 125.txt
- 方式1:使用cat命令查看文件内容
- eg:cat 126.txt
- 补充:cat -b 126.txt 会出现每一行的行号(不包含空行);
- cat -n 126.txt 会出现每一行的行号(包括空行);
- 方式2:使用more命令查看文件内容
- eg:more 126.txt
- 区别:more可以采用分页显示,使用空格下一页,回车下一行,b上一页;
- cat直接把所有内容显示出来
- 使用grep命令对文本内容进行搜索 grep 需要搜索的内容 文件名
- eg:grep user 126.txt
- grep -n user 126.txt 显示该内容在哪一行
- grep -v user 126.txt 反向搜索(搜索不包含user的行)
- echo 回显命令,会将其后内容原封不动打印
- eg:echo asbcefg
- 将回显内容输入到文本文件中:
- eg1:echo hello > 126.txt (会把原文本文件内容覆盖)
- eg2:echo hello >> 126.txt (追加,不会覆盖原文本文件内容)
管道:把一个命令的输出,通过管道连接作为另一个命令的输入(输出就是命令的结果,输入一般是一个命令的参数 eg:cat xxx.txt 这个txt就是cat的输入)
管道连接通过|建立
eg: ls -lh | grep 125.txt 只看125.txt结果
ln有软链接和硬链接,软链接就是ln后面加-s,硬链接没有-s
软链接占内存空间小
链接:相当于windows中的快捷方式
eg:创建aa文件夹中abc文件的硬链接
ln aa/abc abc_softlink (ln 文件位置及文件名 软链接名称)
Linux是一个多用户的操作系统。
服务器是多个人管理(运维人员是多个)
root:超管用户
安装系统时默认创建的是一个普通用户。root用户具有所有权限,日常维护工作使用普通用户完成,除非遇到系统管理的工作才使用root用户。
第一步:添加用户名
useradd xx
第二步:设置密码(不设置用户名的用户是不能使用的,注意是passwd不是password)
passwd xx (sudo passwd xx) (passwd给自己设置密码)
注意:sudo使用超管权限命令
关于sudo命令:
是允许系统管理员让普通用户执行一些或全部的root命令的一个工具,如useradd,halt,reboot,su等。这样不仅减少了root用户的登录和管理时间,同时也提高了安全性。
用户使用sudo的时候会先验证当前用户的密码,然后有5分钟的有效期,有效期内执行sudo不需要再输入密码。
- su xx 用户切换
- su -xx 用户切换,并回到家目录
- exit 退出当前用户,返回上一个用户(从哪个用户切换过来的)
- 如果没有上一个用户则直接退出终端
- userdel xx 删除xx用户
- userdel -r xx 删除xx用户的同时删除其家目录
- groupadd xx 添加
- cat/etc/group 确认组是否被添加成功
- groupmod -n newname xx 改名
- groupdel xx 删除
shell是用来解析命令的,它接收用户命令,然后调用相应的程序执行。
shell相当于一个翻译,翻译我们的命令,让机器听懂。
三种shell存储位置:
第一种shell: /bin/bash 翻译1号
第二种shell: /user/sbin/nologin 翻译2号
第三种shell: /bin/sh 翻译3号
内置命令在系统启动时就调入内存,是常驻内存的,所有执行效率高。
外部命令是系统的软件功能,用户需要时才从硬盘中读入内存。
- id 查看id信息(id 或 id xxuser)
- whoami 当前登录用户
- who 当前所有登录用书罗列出来
- usermod -g xxgroup xxuser 修改初始组(基本不需要修改)
- usermod -G xxproup,xxgroup xxuser 修改附加组
- usermod -s /bin/bash xxuser 修改shell
- - -rw -rw r--
- 第一个字符-表示二进制文件
- 后三个字符为一组,第一组rw-代表所有者的操作权限
- 第二组rw-代表所属组的操作权限
- 第三组r--代表其他用户对其的操作权限
文件权限: r:读 w:写 x:执行 -:无
文件夹权限: R:列出文件列表 W:查看修改文件 X:删除和创建文件
什么是可执行文件?
Windows下的是exe(批处理命令),一般用来启动某个应用程序的。
Linux下的shell脚本,一般用来启动某个应用程序或服务程序。
权限 | 文件 | 文件夹(目录) | |
---|---|---|---|
r | 读read | 查看文件内容 | 可以列出目录中的内容(极限名字) |
w | 写write | 修改文件内容 | 可以在目录中创建、删除文件(包括修改文件名字) |
x | 执行execute | 可以执行运行文件 | 可以进入目录(不能查看目录内容) |
只有文件所有者和超管可以修改文件的权限。
- 方式一: chmod [ugoa] [+-=] [rwx] 文件或目录
- u:所属人 g:组 o:其他人 a:所有
- +:添加权限 -:删除权限 =:设置为后侧的权限[rwx]
- 方式二:用数字代表权限 r=4,w=2,x=1
- 如:r--rw-rwx 467
- eg:chmod 651 xxfile