目录
Linux常用命令
我们在使用Linux的过程中会使用到非常多的命令,有的时候我们不能全部都记下,因此在这里整理了几个日常使用Linux的过程中经常使用的一些命令。
(一)文件目录
ls [目录或文件] 显示当前目录下的文件和目录。
ls -a 显示当前目录下所有文件和目录,包括隐藏的。
ls -l 以列表形式显示信息。
ls -R 显示所有文件
ls -lh 列表形式下规范地显示储存大小。
pwd 显示当前目录的绝对路径。
cal 显示当前日历信息。
cd [参数] 切换到指定目录。
cd ~ 返回自己的家目录。
cd .. 回到当前目录的上一级目录。
cd - 返回上次所在的目录。
mkdir [目录名] 创建一个目录。
mkdir -p 创建多级目录。
rmdir [目录名] 删除空白目录。
touch [文件名] 创建空文件。
cp [文件名] [目录名] 将文件复制到指定目录。
cp -r 递归复制整个目录。
\cp 强制覆盖不提示。
rm [目录名] 删除文件或目录。
rm -r [目录名] 递归删除整个文件夹。
rm -f [目录名] 强制删除不提示。
mv [目录名] [目录名] 移动目录或文件,若文件在同一个目录下,则为重命名。
cat [目录名] 查看文件内容且不能修改。
cat -n [目录名] 查看文件内容并显示行号。
less [文件名] 显示文件内容。
功能: [space] 向下翻动一页。
[pagedown] 向下翻动一页。
[pageup] 向上翻动一页。
/ [字串] 搜索字串,n:向下查找,N:向上查找。
q 退出less。
echo 输出内容到控制台,类似于print。
head [文件名] 显示文件开头部分内容,默认是10行。
head -n [y] [文件名] 查看前y行内容,y可以是任意行数。
tail [文件名] 显示文件末尾部分内容,默认是10行。
tail -n [y] [文件名] 查看末尾y行内容,y可以是任意行数。
tail -f [文件名] 实时追踪该文档的所有更新,Ctrl+c退出。
> 输出重定向(覆盖)。
>> 追加内容到末尾。
ls -l [目录或文件] > [文件名] 列表的内容写到文件中,并会覆盖原文件的内容。
ls -al [目录或文件] >> [文件名] 列表内容追加到文件的末尾。
cat [文件1] > [文件2] 将文件1的内容覆盖到文件2。
ln 软链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径。
ln -s [原文件或目录] [软链接名] 给原文件创建一个软连接。
history 查看已经执行过的历史命令,也可以执行历史命令。
history n 查看最近执行的n条命令。
!n 执行历史命令中的第n条命令。
(二)用户管理
useradd [用户名] 创建用户,默认地址在 /home下。
useradd -d [路径] [用户名] 在目的路径下创建用户,若该路径不存在,则自动创建这个目录。
passwd [用户名] 设置该用户的密码。
pwd 显示当前所在的目录。
whoami 显示当前使用者的身份。
who am i 显示最初使用者的身份,不随用户的切换而切换。
userdel [用户名] 删除用户,保留家目录。
userdel -r [用户名] 删除用户,不保留家目录(慎用)。
id + 用户名 查询用户信息。
用户和组相关文件
/etc/pawwsd 用户的配置文件,记录用户的各种信息
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
/etc/shadow 口令配置文件
每行的含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group 组的配置文件,记录Linux包含组的信息
每行的含义:组名:口令:组标识号:组内用户列表
(三)vi/vim文本编辑器
vi/vim 进入要编辑的文件并进入一般模式。
esc 返回一般模式。
:或者/ 进入命令模式。
i 进入编辑模式。
一般模式
yy 复制当前行。
nyy 复制当前行向下n行,n为要复制的行数。
p 粘贴。
dd 删除当前行。
ndd 删除当前行向下n行,n为要删除的行数。
gg 去到该文档的首行。
G 去到该文档的末行。
u 撤销上一步操作。
n + shift + g 光标定到n行,n为要去的行数。
编辑模式
:q 不保存退出。
:wq 保存退出
:q! 不保存强制退出。
命令模式
/ + 关键词 查找要寻找的关键词出现的所有地方,输入n查找下一个。
:set nu 添加行号。
:set nonu 删除行号。
(四)关机&重启
shutdown -h now 立刻进行关机。
shutdown -h + n n分钟后关机。
shutdown -r now 立刻重启计算机。
halt 立刻关机。
reboot 立刻重启。
sync 把内存的数据同步到磁盘,目前的shutdown/reboot/halt等命令均已进行了该命令。
logout 注销。
(五)时间日期类
date 显示当前日期。
date “+%Y” 显示当前年份。
date “+%m” 显示当前月份。
date “+%d” 显示当前是哪一天。
date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒。
date -s 字符串时间 设置系统当前时间。
cal [选项] 显示目标时期日历,若无选项则为本月月历。
(六)搜索查找类
find 从指定目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端。
find [搜索范围] -name [文件名] 按照指定文件名查找文件。
find [搜索范围] -user [文件名] 查找属于指定用户的所有文件。
find [搜索范围] -size n [文件名] 按照指定的文件大小查找文件(+n 大于 -n 小于 n 等于,单位为 k,M,G)。
locate [文件名] 快速定位文件路径,但第一次执行前须执行 updatedb指令。
which [指令名] 查看某个指令在哪个目录下。
| grep 过滤查找。
grep -n “查找内容” 文件名 查找文件中特定的内容并显示匹配行与行号。
grep -i “查找内容” 文件名 查找文件中特定的内容并忽略字母大小写。
(七)压缩与解压
gzip 文件 压缩该文件,但只能压缩 *.gz文件。
gunzip 文件.gz 解压缩文件。
zip 压缩文件名 文件 将文件压缩并命名压缩后的文件。
zip -r 压缩目录名 目录 将目录压缩并命名压缩后的目录。
unzip 压缩文件 解压缩文件。
unzip -d 压缩文件 目录 解压缩文件并放在指定目录下。
tar 打包指令,打包的是 .tar.gz 的文件。
tar -c 产生 .tar打包文件。
tar -v 显示详细信息。
tar -f 指定压缩后的文件名。
tar -z 使用 gzip 格式压缩或解压。
tar -x 解包 .tar文件。
tar -zxvf 压缩文件 解压文件到当前目录。
tar -zxvf 压缩文件 -C 目录 将压缩文件解压到指定目录下。
(八) 组
ls -ahl 查看文件所有者。
chown [用户名] [文件名] 修改文件所有者。
chgrp [组名] [文件名] 修改文件所在的组。
groupadd [组名] 添加组。
groupdel [组名] 删除组。
useradd - g [组名] [用户名] 在某个组下添加一个用户,如果没有组名,则生成一个与用户名相同名字的组。
usermod -g [组名] [用户名] 将该用户移至目的组。
usermod -d [组名] [用户名] 改变用户登陆的初始目录。
(九) 权限
chmod 更改文件或目录的权限,多个变动中间用逗号隔开。
+、-、= 变更权限。
u:所有者(2-4位), g:所有组(5-7位), o:其他人(8-10位),a:所有人。
chown [用户名] [文件/目录] 修改文件所有者。
chown -R [用户名] [文件/目录] 修改文件所有者,使其所有子目录或文件递归生效。
chown [用户名:组名] [文件/目录] 修改文件所有者和所在组。
chgrp [组名] [文件/目录] 改变所在组。
(十) 定时任务调度
crontab [选项] 进行定时任务的设置,反复执行
选项: -e: 编辑crontab定时任务
-l: 查询crontab定时任务
-r: 删除当前用户所有crontab任务
占位符: 例: */1**** ls -l /etc/ > /tmp/to.txt
第一个’’ :一小时当中的第几分钟
第二个’‘:一天当中第几小时
第三个’‘:一个月当中第几天
第四个’‘:一年当中第几个月
第五个’*':一周当中的星期几
* 代表任意事件
, 代表不连续时间
- 代表连续的时间范围
*/n 代表每隔多久执行一次
service crond restart 重启任务调度
at [选项] [时间] 一次性定时计划任务
选项: -m 当指定任务被完成后,将给用户发送文件
-l 查询,atq 的别名
-d 删除,atrm 的别名
-v 显示任务将执行的时间
-c 打印任务的内容到标准输出
-V 显示版本信息
-q <队列> 使用指定队列
-f <文件> 从指定文件读入任务
-t <时间参数> 以时间参数的形式提交要运行的任务
ps -ef 检查当前运行的进程,两次 Ctrl+D 结束命令的输入
(十一) linux磁盘分区、挂载
lsblk 查看所有设备挂载情况
fdisk 分区
m: 显示命令列表
p: 显示磁盘分区,同 fdisk -l
n: 新增分区
d: 删除分区
w: 写入并退出
q: 不保存退出
mkfs -t ext4 格式化磁盘,ext4 是分区类型
mount [设备名称] [挂载目录] 挂载,重启后会失效,永久挂载:通过修改 /etc/fstab 实现挂载
umount [设备名称] 或者是 [挂载目录] 卸载
df -h 查看磁盘占用情况
du -h /目录 查询指定目录的磁盘占用情况,默认是当前目录
-s 指定目录占用大小汇总
-h 带计量单位
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时增加汇总值
| wc -l 统计数据
tree [目录] 将目录以树的形式展现出来,若没有这个指令,则先运行 yum install tree 指令安装树
(十二) 进程管理
ps -a 查看所有的进程
ps -u 以用户的格式显示进程信息
ps -x 显示后台进程运行的参数
ps -ef 以全格式显示当前所有进程
kill 进程号 通过进程号终止进程
kill -9 进程号 强制终止进程
killall 进程名称 通过进程名称终止进程
pstree 以树状形式显示进程
pstree -u 带pid
pstree -p 带所属用户