Linux 命令
1、基础命令
Linux 基础命令使用格式为:命令名[选项]...[参数]...
其中,不同的[选项],命令执行的结果也不相同。可以使用 --help 选项,查看某个命令的用法。
ifconfig | 查看 ip |
cd | 进入到指定目录。cd /etc 进入 etc 目录下;cd .. 返回上一级目录; cd / 进入到根目录 / |
ll | 列举文件及文件的详细信息 |
date |
系统时间命令 格式化输出系统时间:date "+%Y-%m-%d %H:%M:%S" 设置时间: 设置年月日 date -s 5/23/19 2019年5月23日 设置时分秒 date -s 10:11:12 10点11分12秒 设置完整时间 date mmddHHMMYY.SS 月日时分年.秒 |
clear | 清屏 |
whoami | 查看当前登录用户 |
shutdown | 关机。init 0 也表示关机 |
reboot | 重启。init 6 也表示重启 |
$PATH | 查看系统环境变量 |
grep | 搜索命令,相当于 Windows 上的 ctrl+f |
> | 输出重定向,echo 1 > 1.txt,将 1 写入 1.txt 中。多次写入时,会覆盖掉前面的。 |
>> | 输出附加定向,值不会覆盖。 |
| | 管道操作符,即左边的输出是右边的输入 |
ps |
查看进程状态,即时状态,非连续。常用组合命令:ps -aux|grep tomcat 查看 tomcat 进程状态。 -a 表示所有进程、-u 表示进程状态、x 表示进程详细信息。 |
tar |
压缩(解压)命令。常用组合命令 tar -xvf apache-tomcat-7.tar 解压 tomcat 压缩文件,显示详细过程 tar -zxvf apache-tomcat-7.tar.gz 解压 zip 格式的压缩文件 tar -zxvf apache-tomcat-7.tar.gz -C mydir 解压到 mydir 目录下 tar -cvf my.tar apache/ 压缩 apache,并命名为 my.tar |
&& | 左边命令执行成功,再执行右边的命令 |
|| | 左边的命令执行失败,再执行右边的命令 |
kill | 关闭进行。kill[进程号 pid]。如果进程正在执行,无法关闭,则可以使用 kill -9[pid] 强制关闭进程。 |
2、文件系统操作命令
touch | 修改文件的访问时间。如果文件不存在,则创建空文件 |
cat | 查看文本内容,输出到控制台 |
head | 从头开始查看文件。head -100 1.txt,查看前 100 行 |
tail | 从后开始查看文件。tail -100 1.txt,查看后 100 行。常用来查看日志 |
mkdir | 创建文件夹。mkdir -p 当父目录不存在时,同时创建父目录 |
mv |
移动。格式:mv 原文件全路径 新文件全路径 mv aaa /etc/ 将 aaa 文件夹移动到 /etc 目录下 mv aaa /etc/bbb 将 aaa 文件夹移动到 /etc 目录下,并重新命名 bbb |
cp | 拷贝。格式:cp 原文件全路径 新文件全路径 |
rm | 删除。格式:rm -rfv mydir。-f 表示强制删除、-r 表示删除目录、v 表示显示详细信息 |
3、Service 系统命令
用来控制 Linux 系统服务的命令,可以 [启动|停止|重启|查看状态] 指定系统服务,也可以查看当前所有系统的服务状态。
启动服务:service 服务名 start
停止服务:service 服务名 stop
查看状态:service 服务名 status
重启服务:service 服务名 restart
Linux 系统服务,一定在 /etc/init.d 目录下,有与该服务名称一致的可执行 shell 脚本文件。
如前面用到的网卡 network 服务、sshd 服务,就是 Linux 的系统服务。
4、远程拷贝命令
语法 scp -r 主机 1:/资源 目标主机:/路径。如果是拷贝文件夹必须加 -r
(1)从其他主机拷贝资源到当前主机
scp root@192.168.190.99:/user/bin/my_print_defaults .
. 指当前主机所在的当前路径
(2)从当前主机拷贝资源到远程主机
scp /home/a.txt root@192.168.190.99:/home/
5、VI 命令
VI 是 Linux 上的一个文本编辑器。掌握常用的 VI 命令,可以简化编辑操作。
5.1、VI 的三种模式
使用 VI 编辑文本时,文本会呈现三种不同的模式。
5.1.1、命令模式(command mode/一般模式)
(1)使用 vi 打开文本时,就处于命令模式;
(2)其他任何模式,按 Esc 键,都会切换到命令模式
(3)命令模式下,可以使用 vi 命令,对文本进行编辑
(4)常用的 vi 命令:
快速定位到第 n 行 nG,n 省略,则定位到最后一行
复制当前行 yy 粘贴 p(将选中的内容,粘贴到光标所在行的下一行)
复制多行 nyy
删除当前行 dd
删除当前的单词 dw
删除当前文件的最后一行 dG
删除 n 行 ndd
删除光标至行尾 d$
删除光标至行首 d0
命令模式下撤销 u
撤销恢复命令 ctrl+r
5.1.2、编辑模式(input mode/编辑模式、插入模式)
(1)在命令模式下,我们无法自由编辑文本
(2)想要自由编辑文本,需要在键盘上敲响应的字符,将文本切换到编辑模式
(3)命令模式切换到编辑模式,常用的切换字符及效果如下:
字符 进入编辑模式光标所在的位置
i 光标之前
I 光标所在行的行首
a 光标之后
A 光标所在行的行尾
o 下一行行首
O 上一行行首
s 替换光标所在位置的字符
S 替换当前行
5.1.3、末行模式(last line mode/指令列命令模式,尾行模式)
(1)命令模式下,按:或者/键,进入末行模式,按回车键执行该命令
(2)末行模式下,可以使用相关的命令,简化 vi 操作
(3)常用末行模式命令:
:set nu 在文本中显示行号
:wq 保存文件、退出 vi 命令,结束此次编辑
:q! 不保存文件,强制退出
:q 未编辑文件的情况下,直接退出
/word 在文本中,查找 word 所在位置,并将光标定位;按键 n,切换到下一个位置;按键 N,切换到上一个位置
5.2、三种模式切换
6 Linux 权限控制
Linux 的权限是指某个用户对某个文件(文件夹)的操作权限。这里涉及用户组的概念。
6.1、用户组
用户组的作用,就是用于标识一种类型的用户,这样可以给一组用户(多个用户)授予权限。
6.1.1 查看用户组
注意:用户组的信息放在 /etc/group。使用命令 cat /etc/group
6.1.2、创建用户组
使用命令:groupadd [组名]
6.1.3、删除用户组
使用命令:groupdel [组名]
6.2、用户
6.2.1、添加用户
使用命令 useradd [用户名],默认会将用户添加到跟用户名相同的用户组中。
如果要将用户添加到指定的组中,使用 useradd -g [组名][用户名],前提是指定的组必须存在。
6.2.2、查看用户
用户信息在 /etc/passwd 文件中查看
6.2.3、查看用户属组
使用命令 groups [用户名]
6.2.4、修改用户属性
使用命令:usermod [用户名]
修改用户的属组:usermod -g [新组名][用户名]
6.2.5、修改用户密码
使用命令 passwd [用户名]
注意:输入密码的时候,光标不会移动
6.2.6、切换用户
使用命令:su [用户名],退出命令使用 exit
如果使用命令:su - [用户名],表示一并切换用户的环境变量
验证环境变量是否切换
(1)在 root 用户下,使用 export a=aaa 创建一个临时变量(随着用户注销而消失)
使用 set 命令,确定变量 a 添加成功
(2)使用 su hadoop 切换到 hadoop 用户,变量 a 还存在,则表示没有切换环境变量。
(3)使用 su - hadoop 切换到 hadoop 用户,变量 a 不存在,表示切换了新的环境变量下。
问题:我们在开发中切换用户,到低要不要加“-”?
答:除非有特殊要求,通常需要加“-”
6.2.7、删除用户
使用命令 userdel[用户名]
6.3、权限管理
Linux 权限管理对 root 用户无效
权限分为三种:可读(r)、可写(w)、可执行(x)
6.3.1、权限划分
使用 || 命令,查看文件的详细信息,其中:
第1位:代表该文件的类型,”-”代表文件,”d”代表文件夹,”l”代表链接;
第2~4位:代表文件的拥有者的权限;
第5~7位:代表该文件拥有者的同组用户的权限(也称之为属组用户);
第8~10位:其它所有用户的权限。
第一个root:代表该文件的拥有者(默认是该文件的创建者);
第二个root:代表该文件拥有者的属组。
6.3.2、修改权限 chmod
(1)chmod 【用户】【+、-】【权限】 文件
【用户】 u:表示该文件拥有者 g:文件拥有者属组用户 o:其它用户
【+、-】 +:表示增加权限 -:表示删除权限
【权限】 r:表示可读 w:可写 x:可执行
chmod u+x a.txt 表示给a.txt的拥有者,添加可执行权限。
(2)数字权限 r:4 w:2 x:1 r+w+x的值表示用户的最终权限
chmod 766 a.txt 表示拥有者满权限、属组读写权限、其它用户读写权限。