跳至主要內容

Linux

观风大约 6 分钟

Linux

总体

目录操作

  • ls:显示目录中的文件和子目录的列表。例如:ls /home,显示 /home 目录下的文件和子目录列表。

  • llllls -l 的别名,ll 命令可以看到该目录下的所有目录和文件的详细信息

  • mkdir [选项] 目录名:创建新目录(增)。

  • find [路径] [表达式]:在指定目录及其子目录中搜索文件或目录(查)

  • pwd:显示当前工作目录的路径。

  • rmdir [选项] 目录名:删除空目录(删)。例如:rmdir -p my_directory

  • rm [选项] 文件或目录名:删除文件/目录(删)。例如:rm -r my_directory

  • cp [选项] 源文件/目录 目标文件/目录:复制文件或目录(移)。

  • mv [选项] 源文件/目录 目标文件/目录:移动文件或目录(移)

文件操作

  • touch [选项] 文件名..:创建新文件或更新已存在文件(增)。
  • ln [选项] <源文件> <硬链接/软链接文件>:创建硬链接/软链接。
  • cat/more/less/tail 文件名:文件的查看(查) 。命令 tail -f 文件 可以对某个文件进行动态监控,例如 Tomcat 的日志文件, 会随着程序的运行,日志会变化,可以使用 tail -f catalina-2016-11-11.log 监控 文 件的变化 。
  • vim 文件名:修改文件的内容(改)。在实际开发中,使用 vim 编辑器主要作用就是修改配置文件。

文件压缩

1)打包并压缩文件:

Linux 中的打包文件一般是以 .tar 结尾的,压缩的命令一般是以 .gz 结尾的。而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般 .tar.gz

tar [-xvf] 压缩文件

文件传输

  • scp [选项] 源文件 远程文件 (scp 即 secure copy,安全复制):用于通过 SSH 协议进行安全的文件传输,可以实现从本地到远程主机的上传和从远程主机到本地的下载。例如:scp -r my_directory user@remote:/home/user ,将本地目录my_directory上传到远程服务器 /home/user 目录下。
  • rsync [选项] 源文件 远程文件 : 可以在本地和远程系统之间高效地进行文件复制,并且能够智能地处理增量复制,节省带宽和时间。例如:rsync -r my_directory user@remote:/home/user,将本地目录my_directory上传到远程服务器 /home/user 目录下。
  • ftp (File Transfer Protocol):提供了一种简单的方式来连接到远程 FTP 服务器并进行文件上传、下载、删除等操作。

系统状态

  • top [选项]:用于实时查看系统的 CPU 使用率、内存使用率、进程信息等。
  • htop [选项]:类似于 top,但提供了更加交互式和友好的界面,可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。
  • uptime [选项]:用于查看系统总共运行了多长时间、系统的平均负载等信息。
  • free [选项]:用于查看系统的内存使用情况,包括已用内存、可用内存、缓冲区和缓存等。
  • df [选项] [文件系统]:用于查看系统的磁盘空间使用情况,包括磁盘空间的总量、已使用量和可用量等,可以指定文件系统上。例如:df -a,查看全部文件系统。
  • du [选项] [文件]:用于查看指定目录或文件的磁盘空间使用情况,可以指定不同的选项来控制输出格式和单位。
  • sar [选项] [时间间隔] [重复次数]:用于收集、报告和分析系统的性能统计信息,包括系统的 CPU 使用、内存使用、磁盘 I/O、网络活动等详细信息。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。
  • ps [选项]:用于查看系统中的进程信息,包括进程的 ID、状态、资源使用情况等。ps -ef/ps -aux:这两个命令都是查看当前系统正在运行进程,两者的区别是展示格式不同。如果想要查看特定的进程可以使用这样的格式:ps aux|grep redis (查看包括 redis 字符串的进程),也可使用 pgrep redis -a
  • systemctl [命令] [服务名称]:用于管理系统的服务和单元,可以查看系统服务的状态、启动、停止、重启等。

ls 查询当下文件

ls -a:全部的文件,连同隐藏文件

ls -l:长数据串列出,包含文件的属性与权限

ls -R:递归列出所有的文件和目录

mkdir 创建文件

-p 创建多个层级的文件夹

mkdir -p test1/test2/test3

rmdir 删除空文件夹

rmdir test

rmdir -p test1/test2/test3/test4

cd 切换目录

pwd 查看当前绝对路径

vi 文本编辑

:wq 退出保存

:wq! 强制保存退出

:q! 强制退出

G 跳到文件最后一行

gg 跳到文件第一行

cat 查看文件内容

cp 复制文件或目录

cp 源文件 目标文件夹路径下

-r:递归持续复制,用于整个文件夹的复制行为

rm 删除文件或目录

rm 文件名

-r:删除文件夹

-f:强制删除文件

-rf:强制删除文件或文件夹

mv 移动或者重命名文件与文件夹

mv 源文件/文件夹 目标文件/文件夹

find 查找文件绝对路径

find 路径 -name “文件夹或者文件夹名字” 可以用通配符

find / -name "test.txt"

find / -name "test*"

find / -name "*tes"

tar 压缩或者解压

tar -cvf 压缩后的包名(建议以.tar结尾) 想要压缩的文件或者文件夹

tar -xvf 压缩包的名字

tail 查看文件后面几行(默认是10行)

tail 文件(查看文件后10行)

-n:后面接数字,代表显示几行

-f:表示持续侦测后面所接的文件

tail -n 行数 文件

tail -f 文件

echo 字符串

>> 文件名 将输出内容追加到此文件的最后一行

echo 'test' >> /root/s1/mou.txt

chown 更改文件的拥有者

-R:更改文件夹的拥有者

chown 用户:用户组 文件

top 显示资源占用最多的应用

M:按内存排序

P:按CPU排序

ps显示当前进程状态

-e:显示所有进程

-f:显示程序间的关系

kill 关闭进程

-9 强制杀掉进程

kill -9 6379

ping 确定网络和外部主机的状态

cat /etc/group 查看用户组

groupadd test21 增加用户组

groupmod -n test21 test12 修改用户组

groupdel 删除用户组

用户组

cat /etc/passwd 查看用户

useradd 增加用户

usermod 修改用户

userdel 删除用户

passwd 为用户设置密码

su 切换用户

su - 用户名

chmod 改变文件或者文件夹权限

r:读

w:写

x:执行或切换权限

-:不具有任何权限

-R:对目前目录下所有子文件进行相同的权限变更

df 查看磁盘可用空间

-h:自动以KB/MB/GB单位显示

du 显示每个文件和目录的磁盘使用空间

-h:以易读的容量格式(G/M)显示

free 显示系统使用和空闲内存情况

-k:以KB显示

-m:以MB显示

-g:以GB显示

-h:以易读方式显示