linux常用命令
pwd:查看工作目录
ls:查看指定目录的内容
-l:列表显示
-a:显示所有,包括隐藏文件
-h:人性化的显示
-d:只显示目录,不查看内容
cd:切换工作目录
.:当前目录
…:上一级目录
~:用户家目录
-:上次切过来的目录
目录结构:
linux目录与win完全不同,是从’/‘开始的,只有他没有上一级目录,因此也叫根目录
详细介绍:
/bin:大部分的系统命令
/boot:启动相关目录
/dev:设备文件目录,linux下一切设备皆文件
/etc:配置文件目录
/home:普通用户的家目录,一个用户对应一个文件夹
/lib:库文件
/lib64:64位库文件
/lost+found:系统异常时临时保存数据,用于恢复等操作
/media:媒体目录
/mnt:挂载目录,通用挂载点
/opt:安装系统非必须软件目录
/proc:虚拟文件系统,会映射硬件信息
/root:root用户的家目录
/sbin:超级用户才能执行的命令目录
/selinux:linux一套安全机制,非常复杂,通常不用
/srv:存放本机或本机服务器的数据或服务
/sys:类似于/proc,也是虚拟文件系统,可以映射系统信息
/tmp:临时文件,可能随时销毁
/usr:存放用户安装的应用程序
/var:系统产生的不可自动销毁的文件,如:日志、缓存等
1、vim
介绍:vim是对vi的扩展,被誉为终端编辑器之神
安装:yum install -y vim
工作模式:正常模式、插入模式、编辑模式
正常模式:使用vim打开文件时的默认模式
vim filename 打开文件,若文件不存在则新建
esc:切换到正常模式
shift + zz:保存退出
常用操作:
vim filename +n 打开文件,定位到第n行
vim filename + 打开文件,定位到末尾
gg 定位到首行
G 定位到尾行
ngg 定位到第n行
^ 定位到行首
$ 定位到行尾
yy 复制光标所在行
p 粘贴
nyy 复制光标开始的n行
dd 删除光标所在行
ndd 删除光标开始的n行
u 撤销操作
ctrl + r 反撤销操作
插入模式:就是可以编辑文件内容的模式,在正常模式下输入以下字符进入:
i:在光标处插入
I:在行首插入
a:在光标下一个字符处插入
A:在行尾插入
o:下光标下一行插入空行
O:下光标上一行插入空行
s:删除光标所在字符并插入
S:删除光标所在行并插入
编辑模式:是对整个文件进行的操作,如:保存,退出
在正常模式下输入’:'即可进入编辑模式
:wq 保存退出,等价于 shift + zz
:x 保存退出,等价于:wq
:q! 强制退出
:set nu 显示行号
:set nonu 隐藏行号
:行号 定位到指定行号
/内容 查找指定内容,n下翻,N上翻
:%s/原内容/新内容 使用新内容替换原内容,全部替换
:m,ns/原内容/新内容 使用新内容替换原内容,替换m到n行
友情提醒:若非正常关闭vim,则会生成临时文件(隐藏的),需要删除
2、文件及文件夹
touch:创建普通文件
rm:删除文件,-f表示强制删除,-r表示递归删除
cp:拷贝文件,若目标目录写上文件名可以顺便把名字改了,-r可以操作目录
mv:移动文件,若目标目录写上文件名可以顺便把名字改了
mkdir:创建文件夹,-p创建中间目录
rmdir:删除文件夹,只能删除空目录
3、查看文件
cat:从上到下查看文件,全部内容
tac:从下到上查看文件,全部内容
head:查看开头的指定行内容,默认10行,head -3 1.txt
more:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾会自动结束,q退出查看
less:逐渐查看文件,回车下翻一行,空格下翻一屏,看到结尾不会自动结束,可以上下翻
nl:功能同cat,会多显示行号
wc:统计文件信息,显示结果:行数 | 单词数 | 字节数
4、用户及用户组
whoami:查看当前用户
useradd:创建用户
-d:指定家目录
-u:指定用户id(uid)
-g:指定所属组id(gid)
-s:指定shell解释器
passwd:设置指定用户的密码,若不指定设置当前用户的密码
userdel:删除用户,-rf删除用户相关目录,否则需要手动删除
groupadd:创建用户组
groupdel:删除用户组
gpasswd:将用户添加到某个组,从某个组删除
gpasswd -a test hello 将test用户添加到hello组
gpasswd -d test hello 将test用户从hello组中删除
chgrp:改变文件所属组,chgrp hello 1.txt
chown:改变文件拥有者[及组],chown root[:root] 1.txt
chsh:修改用户的shell解释器,chsh test -s /sbin/nologin
su - : 切换到指定用户,若不加’-’,只会切换目录及用户身份,不会切换执行环境
若不指定用户。默认切换到root用户
涉及文件:
/etc/passwd:存放用户信息
/etc/group:存放用户组信息
/etc/shadow:存放用户密码
用户身份:
#:root用户
$:普通用户
passwd:设置指定用户的密码,若不指定设置当前用户的密码
userdel:删除用户,-rf删除用户相关目录,否则需要手动删除
groupadd:创建用户组
groupdel:删除用户组
gpasswd:将用户添加到某个组,从某个组删除
gpasswd -a test hello 将test用户添加到hello组
gpasswd -d test hello 将test用户从hello组中删除
chgrp:改变文件所属组,chgrp hello 1.txt
chown:改变文件拥有者[及组],chown root[:root] 1.txt
chsh:修改用户的shell解释器,chsh test -s /sbin/nologin
su - : 切换到指定用户,若不加’-’,只会切换目录及用户身份,不会切换执行环境
若不指定用户。默认切换到root用户
涉及文件:
/etc/passwd:存放用户信息
/etc/group:存放用户组信息
/etc/shadow:存放用户密码
用户身份:
#:root用户
$:普通用户
5、权限管理
说明:在linux下,文件的权限有:所有者、所属组、其它的区分
权限:权限有:读®、写(w)、执行(x),ls -l即可查看
rwxr-xr–
修改:使用chmod命令修改文件的权限
格式:chmod [身份] [修改] [权限] 文件
身份:
u:用户
g:组
o:其它
a:所有身份
修改:
+:添加
-:去掉
=:设置
权限:
r:读
w:写
x:执行
简洁写法:chmod 0755 1.txt
所有者可读可写可执行、所属组可读可执行、其它可读可执行
6、链接文件
说明:ls -l 结果的第一列就是文件类型
类型:
-:普通文件
d:目录文件
l:软链接
命令:ln [-s] 原文件 目标文件
分类:软链接、硬链接(很少用到)
创建:不加参数-s创建的链接就是硬链接,添加-s参数创建的就是软链接
例子:ln -s 1.txt 2.txt
7、查找
tree:查看目录结构,-L指定层级深度,tree / -L 2
find:查找文件
-name:指定名字,find / -name 1.txt
-type:指定类型,(b/c/d/p/l)
-size:指定大小,单位K/M/G,+表示大于,-表示小于,find / -size +1G
-perm:指定权限
-user:指定用户
-group:指定组
-maxdepth:指定最大层级深度
whereis:查找程序,不要使用find(效率太低)
which:专门用来查找命令
alias:给某个命令起别名,alias ls=‘ls --color=auto’
unalias:取消别名
grep:正则匹配查找
-i:忽略大小写
-n:显示行号
例子:
grep root /etc/passwd 在 /etc/passwd文件中查找包含root的行
ls /bin | grep ‘^m’ 查找/bin目录下以m开头的文件
文件的类型:
d:代表目录
-:代表文件
l:代表链接(可以认为是window中的快捷方式)
后面的9位分为3组,每3位置一组,分别代表属主的权限,与当前用户同组的 用户的权限,其他用户的权限
r:代表权限是可读,r也可以用数字4表示
w:代表权限是可写,w也可以用数字2表示
x:代表权限是可执行,x也可以用数字1表示
其他命令
1.data指令
1) date(功能描述:显示当前时间)
2) date +%Y(功能描述:显示当前年份)
3) date +%m(功能描述:显示当前月份)
4) date +%d(功能描述:显示当前是哪一天)
5) date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)
6) date -s 字符串时间(功能描述:设置日期)
2. cal [选项](功能描述:不加选项,显示本月日历,)
3. find [搜索范围] [选项]
选项说明:
-name:按名称查找,支持通配符。
-user:按用户名查找
-size:按文件大小查找
4. zip [选项] XXX.zip 将要压缩的内容
5. tar [选项] XXX.tar.gz [打包的内容]
功能描述:打包或者解压文件
选项说明:(例如:tar -zxvf xxx.tar.gz -C /opt)
-c:产生.tar.gz打包文件
-v:显示详细信息
-f:指定压缩后的文件名
-z:打包同时压缩
-x:解压.tar.gz文件
-C: 指定解压到哪个目录
6. netstat命令查看系统网络服务情况
netstat 选项
选项说明:
-an 按一定顺序排列输出
-p 显示哪个进程在调用
# mysql
客户端登录mysql: 进入 mysql-xxx/bin目录下执行命令:./mysql -uroot -p
修改密码:alter user 'root/用户名'@'localhost' identified by '密码';
授权远程访问,在没有授权之前只能在本机访问msyql,远程授权就是让其他计算机通过网络访问mysql;
授权命令:grant
语法:grant all privileges on *.* to root@'%' identified by 密码';
flush刷新权限: flush privileges;
关闭防火墙:systemctl stop firewalld