Linux
常用的基本指令
解压压缩包:tar -zxvf 压缩包名
关机立马:shutdown -h now
10分钟后关机: shutdown -h 10
重启:reboot 、shutdown -r now
创建文件:touch
删除文件夹/文件:rm
-f 忽略不存在的文件,不会出现警告,强制删除
-r 递归删除目录/文件夹
-i 互动,删除时询问是否删除
-rf 删除文件/文件夹
cp(复制文件或目录)
cp 原来的目录 新的目录
删除文件夹:rmdir
-p 删除多级目录
移动文件或重命名:mv 文件名 文件夹/mv 文件名 新文件名
-f 强制
-u 只替换不存在的文件
创建文件夹:mkdir 文件夹名
-p 递归创建文件夹
[root@iZwz9ealzv6zqicfpyjzn4Z local]# cd /home
[root@iZwz9ealzv6zqicfpyjzn4Z home]# ls
[root@iZwz9ealzv6zqicfpyjzn4Z home]# mkdir -p test/test2/test3
[root@iZwz9ealzv6zqicfpyjzn4Z home]# cd test
[root@iZwz9ealzv6zqicfpyjzn4Z test]# ls
test2
[root@iZwz9ealzv6zqicfpyjzn4Z test]# cd test2
[root@iZwz9ealzv6zqicfpyjzn4Z test2]# ls
test3
[root@iZwz9ealzv6zqicfpyjzn4Z test2]#
列出目录:ls
-a参数:all,查看全部文件,包括隐藏文件
-l参数:列出全部文件,包含文件的属性和权限,没有隐藏文件
pwd 显示当前用户所在的目录
[root@iZwz9ealzv6zqicfpyjzn4Z /]# cd usr/local
[root@iZwz9ealzv6zqicfpyjzn4Z local]# pwd
/usr/local
目录结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kYMGVY4u-1595303876404)(http://47.106.207.234:8080/images/1593234532237.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pz4ilysQ-1595303876405)(http://47.106.207.234:8080/images/1593234588448.png)]
文件属性查看和修改
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AnQjmQ8I-1595303876407)(http://47.106.207.234:8080/images/1593234635440.png)]
实例中, boot文件的第-个属性用"d"表示。"d"在Linux中代表该文件是一 一个目录文件。
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
●当为[d ]则是目录
●当为[- ]则是文件;
●若是[l]则表示为链接文档(link file) ;
●若是[b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置) ;
●若是[c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标( - -次性读取装置)。
接下来的字符中,以三个为- -组,且均为[rwxJ 的三个参数的组合。
其中,[r ]代表可读(read)、[ w ]代表可写(write)、[x ]代表可执行(execute)。
要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定 (如下图) :
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LnYZH5Xm-1595303876408)(http://47.106.207.234:8080/images/1593234692137.png)]
从左至右用0-9这些数字来表示。
第0位确定文件类型,第1-3位确定属主(该文件的所有者)拥有该文件的权限。第4-6位确定属组(所有者的同组用户)拥有该文
件的权限,第7-9位确定其他用户拥有该文件的权限。
其中:
第1、4、7位表示读权限,如果用”r"字符表示,则有读权限,如果用"-”字符表示,则没有读权限;
第2、5、8位表示写权限,如果用"w”字符表示,则有写权限,如果用“-”字符表示没有写权限;
第3、6、9位表示可执行权限,如果用"X”字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的, 一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
因此, Linux系统按文件所有者、文件所有者同组用户和其他用户来规定了不同的文件访问权限。
在以上实例中, boot文件是-一个目录文件,属主和属组都为root。
1、chgrp :更改文件属组
chgrp [-R] 属组名文件名
-R :递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2、chown :更改文件属主,也可以同时更改文件属组
chown [-R] 属主名文件名
chown [-R] 属主名:属组名文件名
3、chmod :更改文件9个属性(必须要掌握)
你没有权限操作此文件!
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字(常用的是数字) ,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:「-rwxrwxrwxJ , 这九个权限是三个三个一组的!其中,我们可以使用数
字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
可读可写不可执行 rw- 6
可读可写不课执行 rwx 7
chomd 777 文件赋予所有用户可读可执行!
[root@iZwz9ealzv6zqicfpyjzn4Z home]# clear
[root@iZwz9ealzv6zqicfpyjzn4Z home]# ls -ll
total 8
drwxrwxrwx 2 root root 4096 Jun 7 17:15 laiwenzhuo
drwxr-xr-x 2 root root 4096 Jun 7 16:49 laiwenzhuo2
[root@iZwz9ealzv6zqicfpyjzn4Z home]# chmod 777 laiwenzhuo2
[root@iZwz9ealzv6zqicfpyjzn4Z home]# ls -ll
total 8
drwxrwxrwx 2 root root 4096 Jun 7 17:15 laiwenzhuo
drwxrwxrwx 2 root root 4096 Jun 7 16:49 laiwenzhuo2
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为: [rwxr----x]分数则是:741
文件内容查看
●cat由第一行开始显示文件内容
●tac从最后一行开始显示,可以看出tac是cat的倒着写!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0JfqSWEl-1595303876410)(http://47.106.207.234:8080/images/1593234711605.png)]
●nl显示的时候,顺道输出行号!
●more一页一页的显示文件内容(空格代表翻页, enter代表向下看一行,:f行号)
●less与more类似,但是比more更好的是,他可以往前翻页! ( 空格下翻页, pageDown , pageUp键代表翻动页面!退出
q命令,查找字符串/要查询的字符,向上查询使用?要查询的字符串)
●head只看头几行 只看头几行通过-n参数来控制显示几行!
●tail只看尾巴几行
你可以使用man [命令]来查看各个命令的使用文档,如: man cp。
网络配置目录:cd /etc/sysconfig/network-scripts
Linux的链接分为两种:硬链接、软链接!
硬链接: —B ,假设B是A的硬链接,那么他们两个指向了同- -个文件!允许一个文件拥有多 个路径,用户可以通过这种机制建立
硬链接到一些重要文件上,防止误删!
软链接:类似Window下的快捷方式,删除的源文件,快捷方式也访问不了!
创建连接In 命令!
ln 文件名 硬链接
ln -s 文件名 软连接
touch命令创建文件!
删除f1之后,查看f2和f3的区别
[root@iZwz9ealzv6zqicfpyjzn4Z home]# ll
total 8
-rw-r--r-- 2 root root 10 Jun 7 20:12 f1
lrwxrwxrwx 1 root root 2 Jun 7 20:10 f2 -> f1
-rw-r--r-- 2 root root 10 Jun 7 20:12 f3
[root@iZwz9ealzv6zqicfpyjzn4Z home]# rm -rf f1
[root@iZwz9ealzv6zqicfpyjzn4Z home]# ls
f2 f3
[root@iZwz9ealzv6zqicfpyjzn4Z home]# cat f2 #软连接不在了
cat: f2: No such file or directory
[root@iZwz9ealzv6zqicfpyjzn4Z home]# cat f3 #硬链接还在
我爱你
[root@iZwz9ealzv6zqicfpyjzn4Z home]# rm -rf f2
[root@iZwz9ealzv6zqicfpyjzn4Z home]# cat f3
我爱你
账户管理
添加用户:useradd 用户名
useradd -选项 用户名
-m :自动创建这个用户的主目录/home/
-G:给用户分配组
[root@lwz home]# useradd -m laiwenzhuo
[root@lwz home]# ls
laiwenzhuo
理解一下本质: Linux中一切皆文件,这里的添加用户说白了就是往某一个文件中写入用户的信息了 ! /etc/passwd
删除用户:userdel 用户名
-r :删除用户的时候将他的目录页一并删掉 !
[root@lwz home]# ls
laiwenzhuo
[root@lwz home]# userdel -r laiwenzhuo
[root@lwz home]# ls
修改用户:usermod 用户名
修改用户密码:passwd 用户名
[root@lwz home]# passwd laiwenzhuo
Changing password for user laiwenzhuo.
New password: #密码不能太简单
Retype new password:
passwd: all authentication tokens updated successfully.
切换用户
root用户
1.切换用户的命令为: su username [username是你的用户名哦]
2.从普通用户切换到root用户还可以使用命令 :sudo su
3.在终端输入exit或logout或使用快捷方式ctrl+d ,可以退回到原来用户,其实ctrl+d也是执行的exit命令
4.在切换用户时,如果想在切换用户之后使用新用户的工作环境,可以在su和username之间加- ,例如: [su- root]
$表示普通用户
#表示超级用户,也就是root用户
锁定用户:passwd -l 用户名
root,比如张三辞职了!冻结这个账号,一旦冻结 ,这个人就登录不上系统了!
解锁用户:passwd -u 用户名
使用 passwd -l 用户名 之后使用passwd -u 用户名 可以解锁用户的锁定
用户组管理
属主、属组
每个用户都有一个用户组,系统可以对一一个用户组中的所有用户进行集中管理(开发、测试、运维、root )。不同Linux 系统对用
户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
创建一个用户组:groupadd 用户组名
-g:可以指定用户组id,不指定就自增1
[root@lwz home]# groupadd -g 666 laiwenzhuo2
删除一个用户组:groupdel 用户组名
[root@lwz home]# groupdel laiwenzhuo2
[root@lwz home]# cat /etc/group
修改一个用户组:groupmod -g -n
-g:修改用户组id
-n:修改用户组名
[root@lwz home]# groupmod -g 888 -n newlaiwenzhuo laiwenzhuo2
新组名 原来的组名
磁盘管理
df(列出文件系统整体的磁盘的使用量) du(检查磁盘空间使用量)
df -h :显示以K、M和G表示使用量
[root@lwz home]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 524K 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/vda1 40G 5.0G 33G 14% /
tmpfs 379M 0 379M 0% /run/user/0
-a:#查看隐藏的目录和查看隐藏目录
du -h -a :查看具体目录的空间使用量
[root@lwz home]# du -h -a #查看隐藏的目录和查看隐藏目录
20K ./laiwenzhuo
24K .
进程管理
对于我们开发人员来说,其实Linux更多偏向于使用即可!
基本概念!
1、在Linux中,每一一个程序都是有自己的一个进程,每一一个进程都有一 个id号!
2、每一个进程呢,都会有一-个父进程!
3、进程可以有两种存在方式:前台!后台运行!
4、一般的话服务都是后台运行的,基本的程序都是前台运行的!
命令
ps查看当前系统中正在执行的各种进程的信息!
pS-XX :
●-a显示当前终端运行的所有的进程信息(当前的进程一 个)
●-u以用户的信息显示进程
●-x 显示后台运行进程的参数!
#ps -aux查看所有的进程
ps -aux|grep mysq1
#|在Linux这 个叫做管道符
A|B
#grep查找文件中符合条件的字符串!
对于我们来说,这里目前只需要记住一个命令即可ps -xx|grep进程名字!过滤进程信息!
ps -ef :可以查看到父进程的信息
ps -ef lgrep mysql
#查看父进程可以通过树结构查看
pstree -pu
-p 显示父id
-u 显示用户组
结束进程:kill -9 进程的id
-9表示强制停止