linux中必须掌握的基本命令
在开始前,我推荐安装 trdr(too long dont read)工具,用来简化man命令,来实现查看命令含义和用法的作用。
一 、系统工作命令
echo
echo
命令一般用于shell中打印变量或者字符串的作用,主要用来显示和提醒。- 输出一段信息 如:
echo "hello world"
其中"
不是必须的 - 输出一段带环境变量的信息 如:
echo "My Path is $PATH"
- 输出并不带换行符号 如:
echo -n "Hello World"
- 输出一段激活转依字符 如:
echo -e "Column 1 \t Column 2"
- 输出一段信息 如:
date
date
命令主要用来设置和打印系统时间。- 输出默认时区格式的事件
date +"%c"
- 输出当前事件按照UTC和iso格式输出
date -u +"%Y-%m-%dT%H:%M:%SZ"
- 输出事件戳
date +"%s"
- 输出默认时区格式的事件
reboot
命令主要用来重启系统- 重启系统
reboot
- 强制重启
reboot -f
- 重启系统
poweroff
命令用户关机wget
命令 用于从web中下载文件,支持http
,https
,ftp
- 获取URL中的内容到
foo
中wget https://example.com/foo
- 获取URL中的内容到bar中
wget -O bar https://example.com/foo
- 继续未完成的下载
wget -c https://example.com
- 后台下载
wget -q https://example.com
- 获取URL中的内容到
ps
命令主要用于查看正在运行的进程的信息- 打印全部正在执行的进程
ps aux
- 打印全部正在执行的进程并且伴有完整的命令串
ps auxww
- 通过
grep
管道过滤ps aux | grep "tomcat"
- 得到进程的父进程
pid
:ps -o ppid= -p pid
- 打印全部正在执行的进程
top
命令 主要用户动态的实时的显示正在运行的程序top -i
不显示空闲或者是僵尸进程top -u $user
显示指定用户的进程top -p PID
只显示指定进程PIDtop -p $(pgrep -d ',' process_name)
通过进程名来查询
pidof
命令主要用于查找指定进程的id号pidof -s
进返回一个进程号pidof
-c 仅显示具有相同root目录下的进程
二、系统状态
ifconfig
命令主要用于网络接口的查看和配置
Ifconfig eth0
查看etho0接口网络设置ifconfig -a
查看所有接口的详细信息ifconfig eth0 down
关闭接口eth0ifconfig eth0 ipaddr
设置端口ip地址
uname
打印出现当前机器和系统的相关信息
uname -n
打印当前的hostname
uname -a
打印当前可用的系统的信息,包括硬件软件。
who
打印哪些用户登录再这台机器上
who
显示username
等比较全的信息who am i
打印出当前用户
last
用于查看当前用户最近的登录信息
三、文件和目录
pwd
用于打印当前目录cd
用于切换目录ls
用于罗列目录下的文件或者文件夹
ls -l
按行罗列文件或文件夹ls -a
显示所有文件,包括隐藏的文件。ls -lh
按照大小排泄排列
touch
命令主要用于改变文件的访问时间和修改时间。
touch filename
以当前时间创建文件touch -t yyyy-mm-dd filename
以某一时间来改变文件时间
mkdir
命令主要用于创建文件
mkdir dir
创建文件夹mkdir -p /path/dir
创建指定路径下的文件
cp
命令主要用于文件的复制
cp path/to/file.ext path/to/copy.ext
复制文件到另一个地址cp path/to/file.ext path/to/target_parent_directory
复制文件到指定地址,并且保持文件名不变cp -r path/to/directory path/to/copy
递归的复制整个文件夹及其中的内容到指定目录cp -i *.txt path/to/target_directory
以交互的模式复制文件到指定文件夹中
mv
命令主要用于移动文件
mv source target
移动文件mv -f
强制移动,覆盖现有文件时不要提示
rm
命令主要用于删除文件
rm path/to/file path/to/another/file
删除特定文件夹中的文件rm -r path/to/directory
递归删除文件夹及文件夹中的文件rm -rf
递归删除,并且不要提示信息
dd
命令主要用于转化和复制文件,制作usb镜像
- Clone a drive to another drive with 4MB block and ignore error
dd if=/dev/source_drive of=/dev/dest_drive bs=4m conv=noerror
file
命令主要用于确定文件类型
file filename
输出文件类型file -s filename
用于特殊的文件或者设备文件。
四、文本编辑命令
cat
打印和串联文件
cat file
打印文件内容到标准输出cat file1 file2 > targetFile
将多个文件内容串联到目标文件中cat -n file
打印出行数到标准输出
more
用于互动的阅读文件内容,可以上下滚动
more file
打开文件,<space>
用于移动到下一页,/
用于搜索文件内容,q
用于退出当前界面
head
输出文件开始的部分
head -n count_of_line filename
查看文件的前n行head -c number_of_byte filename
查看文件的前n个字节
tail
输出文件最后的部分
tail -n num file
打印出文件最后num行tail -n +num file
打印出文件从num开始的几行tail -f file
保持阅读状态直到Ctrl + c
wc
命令用于统计文件的单词,字节,行数
wc -l filename
统计文件的行数wc -w filename
统计文件的字数wc -c filename
统计文件的字节数
显示文件的状态
stat filename
显示文件的属性比如大小,权限等。stat -x filename
格式化显示文件的详细属性信息。