6 - Linux常用命令
Linux 是一套开源免费使用,支持多用户、多任务、支持多线程和多个核心 CPU 的操作系统。
现在市面上广泛使用的是 Linux 的发行版,所谓的 Linux 的发行版就是将 Linux(内核)与应用软件做一个打包,可供用户安装和配置;
目前市面上比较知名的发行版有:Ubuntu,RedHat,CentOS 等等
一、linux系统的目录结构
/ | linux文件系统的上层根目录 |
root | 存放root用户的相关文件 |
home | 存放普通用户的相关文件 |
bin | 存放常用命令的目录,如vi su 等普通用户就可以读取的命令 |
sbin | 要具有一定权限才可以使用的命令 |
etc | 存放相关配置文件 |
var | 存放经常变化的文件,如网络连接的sock文件 |
boot | 启动目录,存放引导系统启动的相关文件 |
usr | 安装一个软件的默认目录,相当于windows下的program files |
dev | 设备文件保存目录 |
lib | 系统库保存目录 |
mnt | 默认挂载光驱和软驱的目录 |
proc | 直接写入内存的,不能直接操作,保存的是内存的挂载点 |
二、基本命令
操作对象 | 命令 | 含义 |
基础信息 | uname | 可显示电脑以及操作系统的相关信息 |
uname -a | 显示主机名、内核等系统信息 | |
hostname | 显示系统的主机名 | |
hostname -i | 显示系统的ip地址 | |
ifconfig | 查看IP地址 | |
cal | 显示本月的日历 | |
date | 显示当前时间 | |
uptime | 显示运行时间 | |
whereis xxx | 显示xxx程序可能的位置 | |
which xxx | 显示xxx命令对应执行的程序 | |
硬件使用 | cat /proc/cpuinfo | 显示cpu信息 |
ps -aux | sort -k3nr | head -K | 查看占用CPU使用率最高的进程 | |
cat /proc/meminfo | 显示内存信息 | |
free | 显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存等 =kB | |
free -m | -m 参数表示以 MB 为单位显示内存使用情况 | |
man xxx | 显示xxx命令的帮助手册信息(比如man ps, 就会显示ps命令的帮助信息) | |
进程和端口号
|
netstat -anp | grep port_number |
查看某端口号 |
netstat -tlnp |
查看当前机器listen的所有端口 |
|
ps -ef | grep ps_name ps -ef | grep ps_number |
查看某进程号 | |
ps -ef | grep tomcat kill -9 tomcat_port |
查询出tomcat的进程并杀掉这个进程 | |
磁盘情况 | df -aTh | 显示磁盘空间信息 |
df -h | 以容易阅读的方式显示磁盘使用情况 | |
df -i | 显示文件系统上的空闲索引节点 | |
du -sh | -s是求得总大小 -h以容易阅读的方式显示文件大小 | |
findmnt | 显示当前挂载的文件系统列表,以树状的格式显示 | |
查看文件及目录 | ls | 显示当前工作目录所含文件及子目录 |
ls -al | -l 显示详细信息 -a 显示普通文件和隐藏文件的详细信息 | |
目录和文件 (创建、删除、移动、 复制、重命名等) |
mkdir dir1 | 创建dir1目录 |
mkdir -p ./a/b rm -rf ./a |
创建和删除一个多级目录 | |
rm file1 | 删除file1文件 | |
rm -rf dir1 | 强制删除dir1目录及内含的文件 | |
cp file1 file2 | 复制 file1 并命名为 file2,若 file2 存在则内容覆盖(需要确认) | |
cp -r dir1 dir2 | 递归拷贝 dir1 并命名为 dir2,若 dir2 存在则复制 dir1 目录中文件到 dir2 | |
mv file1 file2 | 将 file1 重命名为 file2,若 file2 存在则内容覆盖 | |
ln -s file1 link | 创建 file1 文件的软链接 ---目标目录/文件 软连接地址 | |
touch file1 | file1 不存在时候创建 file1;若存在,则修改文件的时间属性为当前时间 | |
压缩和解压 |
tar zcvf xxx.tar.gz file tar zxvf xxx.tar.gz |
把一个文件夹打包压缩成.tar.gz的命令,以及解压拆包.tar.gz的命令 |
上传下载文件 | lrzsz |
Xshell工具如果想要实现从服务器上传或者下载文件的话,可以在服务器上安装什么包 |
文件内容查看、查找 |
cat file1 > file2 |
将 file1 的文件内容输入到 file2 中 |
find ~/ -name haha.txt | 在当前用户家目录中查找haha.txt文件 | |
more file1 | 按页查看 file1 文件内容,从前向后翻看文件 (空格-一行行, 空白键-一页页) | |
less file1 | 按页查看 file1 文件内容,可往前往后翻看文件 (上下键)-q 退出 | |
head -n 5 file1 | 显示 file1 文件的前 5 行 == 默认前 10 行 | |
tail -n 5 file1 | 显示 file1 文件的后 5 行 === 默认后 10 行 | |
tail -f log_file | 动态查看日志文件 | |
wc /path/file | 输出 file 文件的行数,单词书和字节数 | |
grep "ERROR" file_name cat file_name | grep "ERROR" |
过滤文件内容中包含”ERROR“的行 | |
cat /etc/passwd | head -n 5 | cut -d : -f 1 |
以/etc/passwd的前五行内容为例,提取用户名 |
三、相关场景
1、在linux 中find 和grep 的区别
grep 命令:
是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep 全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
find:
功能:在目录结构中搜索文件,并执行指定的操作。此命令提供了相当多的查找条件,功能很强大。
语法:find 起始目录寻找条件操作说明:find 命令从指定的起始目录开始,递归地搜索其各个子目录,查找满足寻找条件的文件并对之采取相关的操作
简单点说说,grep 是查找匹配条件的行,find 是搜索匹配条件的文件
持续补充中!