linux命令的基本语法
命令 [选项1] [选项2] [参数1] [参数2]
1.第一个输入的必定是命令(指令,二进制文件,程序文件,可执行文件)
2.选项:程序扩展的功能,减号加字母
3.参数:一定是一个文件的路径(文件名)
4.命令选项参数间空格隔开
5.区分大小写
我的问题:cd / 回到根目录 cd 回到~的目录 有什么区别?
管理员的家目录: /root
普通用户家目录: /home/家目录
/ :根目录
~ :是/文件下面一级或两级的文件
Ctrl+c 终止当前执行的任务
Ctrl+d 注销登录
Ctrl+s 暂停屏幕输出
Ctrl+q 恢复屏幕输出
Ctrl+u 删除光标前到行首的字符
Ctrl+l 清屏
tab 命令补齐,文件名补齐
pwd 查看当前目录的完整路径
一般模式
基本移动
h 左
j 下
k 上
l 右
nj
10j向下移动10个字符
G 移动到最后一行
gg 移动到第一行
复制
yy 复制当前行
nyy 复制当前行向下的n行
yG 复制当前行到最后一行之间的所有行
ynG 复制当前行到第n行间的所有行
p(小) 粘贴到当前行下面
P(大) 粘贴到当前行上面
删除剪切
x向后剪切
X向前剪切
nx 向后剪切n个字符
dd 删除/剪切当前行
ndd 删除/剪切当前行向下的n行
dG 删除/剪切当前行到最后一行之间的所有行
dnG 删除/剪切当前行到第n行间的所有行
恢复保存
u 撤销
Ctrl+r 恢复
ZZ 保存退出
ZQ 不保存退出
编辑模式
i 从当前位置开始编辑
A 从当前行末尾开始编辑
a 从当前位置下一位开始编辑
o 在当前行下面插入新空白行
命令行模式
:w 保存
:w 新文件名 #另存为
:q 直接退出
:wq #先保存再退出
:q! #不保存强制退出
#设置行号
set nu
#取消行号
set nonu
#搜寻
/关键字 #向下搜寻指定关键字所在位置
n 下一个
N 上一个
Linux文件系统层次结构标准
文件目录结构
中心思想:一切皆文件!
都遵循FHS
/根目录
/bin 存放所有普通用户可以执行的命令
/sbin 管理员才可以执行的命令
/boot 开机引导相关的文件
/etc 系统重要配置文件存放目录
/dev 设备与装置文件
/root 管理员root的家目录
/home 所有普通用户家目录的存放目录
/opt 第三方软件安装目录
/usr 安装系统时所安装软件的目录
/usr/local 用户级软件安装目录
/var 用来存放经常发生变化的文件
/var/log 日志文件存放目录
文件类型
1.通过文件名颜色识别
白色 普通文件
蓝色 目录/文件夹
红色 压缩文件
浅蓝色 链接文件(快捷方式)
绿色 可执行文件(二进制文件,命令)
黄色 装置与设备文件(硬盘,光驱)
2.通过ls -l查看文件详细信息中的首字母
- 普通文件,压缩文件,可执行文件
d 目录/文件夹
l 链接文件
连接远程Linux服务器
获取远程Linux服务器的IP
获取登录Linux服务器账号和密码
查询Linux服务器IP地址:ifconfig
权限管理
文件拥有者:默认拥有者是文件创建的人
文件所属组:文件属于哪个群组
其他人:除了上面两者之外的人
-rw-r--r--. 1 root root 29043月 119:52 libuser.conf
Linux文件权限由9个字符组成:rwx-
3个字符为一组
第1组:文件拥有者的权限
第2组:文件所属组的权限
第3组:其他人的权限
r:可读
w:可写
x:可执行
rwx顺序固定不变,"-"表示无权限
修改权限
语法:chmod [-R] 权限参数 文件名
权限参数:由3位8进制的整数构成,每一位代表一个身份的权限
r 4
w 2
x 1
-0
每个身份的权限对应数字之和,就是权限数字
不同权限的具体用途
针对文件:
系统默认最高权限:666
读:查阅,不可修改
写:修改编辑文件,配合读权限一起使用
针对目录:
系统默认最高权限:777
读:可以查看目录中的文件,只能看到文件名和类型
写:可以新建文件,修改文件名,删除文件,也要和读权限一起使用
可执行:可以进入目录,结合r,或者rw 一起使用
针对某个文件或者目录进行操作时要注意其上级目录的权限
修改文件拥有者与所属组
语法:chown [-R] 用户名.组名 文件名
文件与目录的日常操作
切换工作目录
语法:
cd 目录名
列出目录下的文件清单
语法:
ls [选项] [文件名]
ls # 列出当前目录下的文件清单
ls-l # 以长格式列出
ls-a # 列出所有文件,包含隐藏文件(文件名以"."开头的)
ls-R # 将目录下的所有层次全部展开
ll # 命令别名,等同于: ls -l
l. # 命令别名,仅列出隐藏文件
一次性查阅
语法:
cat 文件名
nl 文件名 #带行号查看
分页查看
语法:
less 文件名
more 文件名
翻页:
Ctrl+f 下一页
Ctrl+b 上一页
查阅部分内容
语法:
head 文件名
tail 文件名
tail -f 文件名 #动态查看日志
创建文件与目录
语法:
mkdir 目录名 #创建目录
语法:
touch 文件名 #创建文件
删除文件
语法:
rm [选项] 文件名
rm-rf 文件名
复制文件
语法:
cp [选项] 源文件 目标文件
例:
复制文件file到目录/tmp
cp file /tmp
复制多个文件file1,file2到目录/tmp
cp file1 file2 /tmp
复制file到/tmp并将其重命名为newfile
cp file /tmp/newfile
复制目录dir及其下的所有文件一起到/tmp
cp-r dir /tmp
修改别名:
alias cp='cp -rf'
服务器间的复制
#复制本地文件到服务器
语法:
scp [选项] 本地文件 服务器的用户名@服务器的IP:目标目录
复制服务器物件到本地
语法:
scp 服务器的用户名@服务器的IP:目标目录 本地文件
移动与重命名
移动/剪切
mv [选项] 源文件 目标目录
mv file newfile #重命名
搜索文件
语法:
find 搜索路径 [选项] 文件名
群组管理
创建群组
语法:
groupadd 组名
例:
创建一个tester组
groupadd tester
# 查看群组
tail /etc/group
删除群组
语法:
groupdel 组名
例:
删除群组tester
groupdel tester
用户管理
创建用户
语法:
useradd [-g -G] 用户名
-g 创建用户并加入指定的组(主要组)
-G 创建用户并加入指定的组(次要组)
例:
useradd jack # 创建一个用户jack,并同时创建一个jack组(主要组,私有组)
useradd -g tester rose # 创建一个用户rose,并指定其 主要组为tester
useradd -G tester tom # 创建用户tom,并指定其次要组为tester,同时创建一个私有组tom(主要组)
查看用户信息:
tail /etc/passwd
查看用户所属的群组信息:
groups jack # 查看jack所属的所有组
删除用户
语法:
userdel [-r] 用户名
例:
userdel jack # 删除jack用户,只删除账号及其私有组,保留家目录和邮箱
userdel -r rose # 删除rose用户,删除账号,私有组,家目录,邮箱
设置密码
语法:
passwd [用户名]
passwd rose # 给用户rose设置密码
passwd # 修改当前用户的密码
su - 用户名 # 切换用户
su - rose # 切换用户为rose(管理员切换到其他用户不需要输入密码,但普通用户切换到任意用户都要输入密码)