在linux终端,面对命令不知道怎么用,或不记得命令的拼写及参数时,我们需要求助于系统的帮助文档; linux系统内置的帮助文档很详细,通常能解决我们的问题,我们需要掌握如何正确的去使用它们;
简要说明命令的作用(显示命令所处的man分类页面):
$ whatis command
更加详细的说明文档:
$ info command
查询命令command的说明文档:
$ man command
eg:man date
使用page up和page down来上下翻页
在命令后面加--help
或-h
即可查看用法
for example:
cat --help
会得到下面的内容:
root@dkqhdNzD50ucsy0:~# cat --help
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Examples:
cat f - g Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Report any translation bugs to <https://translationproject.org/team/>
Full documentation <https://www.gnu.org/software/coreutils/cat>
or available locally via: info '(coreutils) cat invocation'
上网搜索往往能得到更容易于理解的答案,不过缺点就是比较麻烦,效率较低
Prompt 即命令提示符,用来等待输入并给你提供一些信息
其中最重要的信息就是工作路径(Working directory)工作路径(Working directory)工作路径,是当前 shell 所处的“位置”
rm -rf ./*
*nix 下的路径分隔符是 /
,Windows 下是 \
通常还要有的信息是当前正在操作的用户
root
等向其中输入命令然后回车,就可以执行命令
pwd
获取当前路径~
代表的就是当前用户的 “home” 目录怎么没有
C:\
?
- Windows 下有多个“根目录”,即不同“盘符”,比如
C:\
、D:\
等- *nix 没有分盘概念,所有的文件都挂载在唯一的根目录
/
下
whoami
:显示当前用户名称
ls
:显示指定工作目录下的内容;用法:ls 文件或目录
(1)ls:./ 查看当前目录所有的文件和目录
(2)ls -l:以长格式显示目录下的内容列表
(3)ls -a:查看所有的文件,包括隐藏文件,以.开头的文件
cd
:切换当前工作目录;用法:cd后面加目录
(1)cd /root:进入/root 目录
(2)cd ../:返回上一级目录
(3)cd ./:进入当前目录
cp
:拷贝文件;用法:cp 要复制的文件 目标路径
(1)cp xx.txt /home/backup.txt ,拷贝文件至/home目录下并且重命名为bak.txt
(2) cp xx –r /home:拷贝xx目录到/home目录下
cat
:查看文件内容;用法:cat 文件路径
(1)cat test.txt:查看当前文件夹下 test.txt 文件内容
echo
:回显;用法:输入什么就打印什么
(1)echo "hello"
mkdir
:创建目录;用法:mkdir 目录名
rmdir
:删除空目录,非空不可删除;用法:rmdir 空目录名称
rm
:删除文件或者目录,用法:rm –rf 文件名或目录 (-r 表示递归,-f 表示强制)
touch
:创建文件;用法:touch 文件名,如果文件存在,则修改当前文件时间,文件内容不变
mv
:重命名或者移动文件/目录;用法: mv 原文件名 新文件名 或 mv 原文件位置 新文件位置
chmod
:修改文件或目录的权限
chmod u+x 目录/文件:给该目录/文件所有者赋予执行权限
chmod ug-x 目录/文件:给该目录/文件所有者和组用户减去执行权限
chmod 777 目录/文件:给该目录/文件所有者、组用户、其他用户赋予所有权限
chmod 764 目录/文件:给该目录/文件所有者赋予全部权限,组用户赋予读写权限,其他用户赋予读权限
hexdump
: 用法:hexdump filename
:以十六进制输出文件内容
-C:并排输出十六进制与 ASCII
-n N:输出前 N 个字节
>
:表示将前面命令的执行结果写入后面的文件中,会覆盖原有文件内容;
常见用法echo world > test.txt
>>
:表示追加;常见用法echo world >> test.txt
find
:查找指定文件;用法:find 目录 -name 文件
(1)find /home -name “*.txt” :查找/home目录下,所有以.txt 结尾的文件或者目录。
groupadd
:创建组;用法:groupadd 组名;注:在/etc/group中查看组名;
注:将某用户加入root用户组:usermod –g root 用户名
groupdel
:删除组;用法:groupdel 组名
grep
:用于查找文件里符合条件的字符串;用法:grep [参数] 目标
-r:指定要查找目标的是目录而非文件时使用
-n:显示具体行数
–include:指定后缀文件
(1)grep -rn “eval“ target
:搜索target目标(目录/文件)中是否含有eval的文件,并且确定在所含有的文件中是第几行
(2)grep -rn --include=‘*.php’ ‘eval(’ target
:搜索target目标(目录/文件)中是否含有eval的文件(注:这里是指定只搜索.php后缀的文件),并
且确定在所含有的文件中是第几行
head
:默认查看文件前10行内容;用法:head 文件名;如果查看前20行,用法:head -20 文件名
tail
:默认查看文件后10行内容;用法:tail 文件名,如果查看后20行,用法:tail -20 文件名
more或less
:分页查看文件内容;用法:more 文件名或less 文件名
注:cat 和 more 同时使用例如: cat test.txt |more 分页显示 text 内容,|符号是管道符,用于把|前的输出作为后面命令的输入
useradd
:创建用户;用法:useradd 用户名,注:在/etc/passwd中可查看
(1)将用户添加到指定组中: useradd -g 组名 用户
userdel
:删除用户;用法:userdel 用户名
passwd
: 设置密码;passwd 用户名,不加用户名默认修改当前用户
vi
:修改文件(命令行模式、文本输入模式、末行模式),vi或vim打开一个文件,首先是命令行模式,然后按 i 进入文本输入模式,可以
在文件里写入字符等信息。写完后,按 esc 进入命令模式,然后输入:进入末行模式,例如输入 :wq 表示保存退出。如果想直接退出,不
保存,可以执行 :q , 如果无法退出可以使用 q! 强制退出。
id
:显示用户的ID,以及所属群组的ID
ifconfig
:显示网络详情
netstat
:显示网络状态
netstat –anplt:查看所有tcp端口
netstat –anplu:查看所有udp端口
kill
:停止运行执行中的程序或工作
kill -9:强制执行
ping
:检测主机;用法:ping ip
ps
:显示当前进程的状态,类似于 windows 的任务管理器。 -a 列出全部进程
reboot
:重启;用法:reboot -f(强制重启)
su
:切换用户;用法:su 用户名
sudo
:使用root用户执行命令;用法:sudo 命令
uname
:显示系统信息;用法:uname –a(显示系统详细信息)
clear
:清空命令行
常见用法:
$ cat /home/admin/access.log | cut -d ' ' -f 1 | sort | uniq -c | sort | tail -n 1
常见用法:
curl https://www.baidu.com/robots.txt | grep User
env
命令查看所有环境变量ls
)?/bin/ls
),执行命令就是执行程序ls
就找到 /bin/ls
这个可执行文件?PATH
环境变量中查找PATH
变量中使用printenv
或env
可以列出当前用户会话的所有环境变量及其值。
chown user:group file.txt
将 file.txt
的所有者更改为 user
,所属组更改为 group
。tar -czvf archive.tar.gz directory/
将 directory/
目录及其内容压缩为 archive.tar.gz
文件。du -sh directory/
将显示 directory/
目录的总磁盘使用情况。ps aux
可以查看所有进程的详细信息。kill PID
来终止它。htop
是一个增强版的 top
,界面更加友好。nano
是一个简单的命令行文本编辑器,适合初学者;vim
和 emacs
是更强大的编辑器,有大量的快捷键和功能。wget http://example.com/file.txt
将从 http://example.com
下载 file.txt
。wget
类似,但提供了更多的选项和功能。apt update
更新软件包列表,apt upgrade
升级所有可升级的软件包,apt install package-name
安装一个软件包。