目录
快捷键
快捷键 | 作 用 |
Tab 键 | 命令或文件名称补全 |
ctrl+A | 把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。 |
ctrl+E | 把光标移动到命令行结尾。 |
ctrl+C | 强制终止当前的命令。 |
ctrl+L | 清屏,类似于 clear 命令。 |
ctrl+U | 删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便 |
ctrl+Y | 粘贴 ctrl+U 剪切的内容。 |
基本命令
pwd
pwd:print working directory打印当前的目录(查询当前所在目录)
表示当前工作目录在/home/kali
ls
ls:list列出当前工作目录下,都有哪些文件。输入ls 回车可以看到左边列出了工作目录下的所有文件名,如右图所示
ls -l (长格式显示)命令则可以列出根目录下的所有文件和目录的详细信息(也可以直接ll),让我们可以更好地了解文件系统的结构及其属性配置(-l选项参数对应英文单词long,就是以长列表的格式展示信息):
ls -l -h 则是以人类可读的格式展示信息,更加易读。使用该命令,可以更直观的看到文件的大小
上图中第一列是权限;第二列是引用计数(该目录有多少个一级子目录);
第三列是所属用户;第四列是所属组;第五列是文件大小;
第六列是文件修改时间;第七列是文件名;
ls -a 显示所有文件
ls -l -d 显示当前目录信息,而不是目录下的文件;(ls -l -d 目录名)
ls -i 显示文件的i节点号
ls -lt (或ls -l -t) 以创建或最后修改文件的时间的降序排列的长格式显示文件信息
cd
cd:change directory更改目录
cd后加一个空格在输入自己想工作的目录,即可改变当前的工作目录。
先输入ls查看当前工作目录下,有哪些目录,然后输入cd Videos回车即可看到工作目录变为了/Videos
若想回到上一级目录,输入cd空格再输入两个点即可。通过pwd可以看到我们回到了上一级目录
也可以cd空格加上自己想去的最终目录路径,就可以一步位
cd /home/kali = cd home 回车后再cd kali回车
clear
clear 可以清空之前的命令
也可以用快捷键ctrl + L
标准命令 -help
linuxd的命令功能非常强大,我们可以通过输入标准 -help回车来获取更多命令比如ls -help
或者ls --help
man 标准命令
几乎所有linux的标准命令都可以在man手册里找到详细的文档说明
比如输入man pwd,就会列出pwd的使用说明
在man手册里直接按q键即可立即退出当前的man手册
/字符串:从当前页向下搜索字符串
?字符串:从当前页向上搜索字符串
(配合n键和N键可以向下和向上找到下一个搜索出来的字符串)
进阶命令(在centos中演示)
强制退出当前命令(ctrl C)
在命令过程中,直接按ctrl C 可以强制退出当前命令
切换用户(su / sudo -i)
sudo -i 切换为根用户(root用户)
查看当前登录用户(users)
显示系统信息(uptime)
uptime命令用于显示系统的运行时间、平均负载以及当前活动用户数等信息。
显示当前登录用户信息(w / who)
USER:显示登录的用户名。
TTY:显示用户连接的终端类型。
FROM:显示用户从何处登录,可以是主机名或IP地址。
LOGIN@:显示用户登录的时间。
IDLE:显示用户空闲时间,即用户自上次活动后未与系统交互的时间。
JCPU:显示所有与该会话相关的进程总共占用的CPU时间。
PCPU:显示当前进程占用的CPU时间。
WHAT:显示用户正在执行的命令及其参数。
who命令得到的结果没有w命令的详细:
su 用户名 切换为指定的其他用户
可以看到我们有root用户切换为了stu1用户。
创建目录或文件夹(mkdir)
mkdir
mkdir -p (递归创建目录)
删除空目录(rmdir / rm)
rmdir 空目录
rmdir -p 目录路径 (递归删除空目录)
还可以直接用rm 删除普通文件和目录
rm -rf 强制删除目录和文件
rm -i 在删除前会询问用户
rm -r 递归删除
创建文件(touch)
touch 文件名
显示文件详细信息(stat)
stat 文件名
终端显示文件内容(cat)
cat 文件名
可以在终端中直接返回文件的内容
cat -A 文件名
可以看到文件内容和隐藏符号
cat -E 文件名 列出每行结尾的回车符$
cat -n 文件名 显示行号
cat -T 文件名 把Tab键用 ^| 表示出来
cat -v 文件名 列出特殊字符
分屏显示文件内容(more)
more 文件名
终端会打开一个交互命令,我们点击:
空格键:向下翻页
b:向上翻页
回车键:向下滚动一行
/字符串:搜索指定的字符串 (将从第一次出现该字符串的次方开始显示内容)
q:退出
分页显示文件内容(less)
less 文件名
操作基本和 more 一样
显示文件结尾内容(tail)
tail 文件名
tail -n 文件名 (显示文件最后n行的内容)
tail -f 文件名 (监听文件的新增内容)
在文件之间建立链接(ln)
ln -s 建立软链接文件,如果不加 -s 则默认建立硬链接文件
ln -f 强制建立链接文件。如果目标文件已经存在,则删除目标文件后再建立链接文件
软链接,也称为符号链接,是一个指向另一个文件或目录的特殊类型的文件。它是一个指向目标文件的符号,就像快捷方式一样。
硬链接是一个引用与目标文件具有相同的物理存储块(inode)的文件。这意味着硬链接与原始文件在磁盘上共享相同的数据块。如果对硬链接或原始文件进行更改,对另一个也会产生影响,因为它们指向相同的数据块。
复制文件和目录(cp)
cp -d:如果源文件为软链接(对硬链接无效),则复制出的目标文件也为软链接
cp -i:询问,如果目标文件已经存在,则会询问是否覆盖
cp -p:复制后目标文件保留源文件的属性(包括所有者、所属组、权限和时间)
cp -r:递归复制,用于复制目录
cp -a:相当于-dpr 选项的集合
在qwe文件里有 1 2 两个文件,cp -a 1 2 就可以将文件1中内容复制给文件2:
移动文件或改名(mv)
mv -f 强制覆盖,如果目标文件已经存在,则不询问,直接强制覆盖
mv -i:交互移动,如果目标文件已经存在,则询问用户是否覆盖(默认选项)
mv -v:显示详细信息
例如将qwe文件夹移动到date文件夹 mv -i qwe date
完整的帮助资料(info)
输入info回车,会显示一套完整的帮助信息
产看文件类型(file)
file 文件名
查找文件,命令(whereis / which)
whereis 文件名 / 命令名
会显示出对应的目录:
which命令和whereis 命令的区别在于whereis 命令可以在查找到二进制命令的同时,查找到帮助文档的位置;而 which 命令在查找到二进制命令的同时,如果这个命令有别名,则还可以找到别名命令。
在目录中搜索文件……(find)
find 文件夹 会判断目录中有无该文件夹,并显示出来,还会显示出该文件夹下的文件
find -name 文件名 :按照文件名搜索
find -iname 文件名 :按照文件名搜索,不区分文件名大小写
find -inum 文件名 :按照 inode 号搜索
find -size [+|-]大小:按照指定大小搜索文件
“+”的意思是搜索比指定大小还要大的文件
“-”的意思是搜索比指定大小还要小的文件
find -atime [+|-]时间:按照文件访问时间搜索
find -mtime [+|-]时间:按照文件数据修改时间搜索
find -ctime [+|-]时间:按照文件状态修改时间搜索
find -perm 权限模式:查找文件权限刚好等于“权限模式”的文件
find -perm -权限模式:查找文件权限全部包含“权限模式”的文件
find -perm +权限模式:查找文件权限包含“权限模式”的任意一个权限的文件
find -uid 用户 ID:按照用户 ID 查找所有者是指定 ID 的文件
find -gid 组 ID:按照用户组 ID 查找所属组是指定 ID 的文件
find -user 用户名:按照用户名查找所有者是指定用户的文件
find -group 组名:按照组名查找所属组是指定用户组的文件
find -nouser:查找没有所有者的文件
find -type d:查找目录
find -type f:查找普通文件
find -type l:查找软链接文件
find 条件 -a 条件 :表示and 逻辑与,找到同时满足两个条件的文件
find 条件 -o 条件 :表示or 逻辑或,找到满足任一条件的文件
find -not 条件 :表示not 逻辑非,找到不满足该条件的文件
只返回符合条件的结果(grep)
在语句后面加上 | grep 关键字
比如 我们想返回含有'a'的文件:ls -l | grep a
查看网络状态(netstat)
netstat -a:列出所有网络状态,包括 Socket 程序
netstat -c 秒数:指定每隔几秒刷新一次网络状态
netstat -n:使用 IP 地址和端口号显示,不使用域名与服务名
netstat -p:显示 PID 和程序名
netstat -t:显示使用 TCP协议端口的连接状况
netstat -u:显示使用 UDP协议端口的连接状况
netstat -l:仅显示监听状态的连接
netstat -r:显示路由表
命名别名(alias)
alias 别名='原命令语句'
比如 alias ll='ls -l -h'表示用ll命令,就可以完成ls -l -h命令
用命令定义的别名,是临时生效的,要想永久生效,需要写入环境变量配置文件~/.bashrc
显示内存使用情况(free)
Linux中的free命令用于显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。
total列显示系统总的可用物理内存和交换空间大小。
used列显示已经被使用的物理内存和交换空间。
free列显示还有多少物理内存和交换空间可以使用。
shared列显示被共享使用的物理内存大小。
buff/cache列显示被buffer和cache使用的物理内存大小。
available列显示还可以被应用程序使用的物理内存大小。
显示磁盘空间使用情况(df -hT)