Linux 命令

1. 文件管理命令

1.1 mkdir

mkdir命令用来创建目录

选项含义
-p递归创建目录
	mkdir directory_name						创建单个目录
	mkdir -p directory_path						递归创建目录
	mkdir directory1 directory2 directory3		同时创建多个目录

1.2 touch

touch命令用来创建新文件。

	touch  a.txt		在当前目录下创建名为a的txt文件(文件不存在),如果文件存在,将文件时间属性修改为当前系统时间。      

1.3 rm

rm命令用来删除文件。

选项含义
-f强制:代替互动模式,不提示确认删除
-i互动:提示确认删除
-r递归:将删除某个目录以及其中所有的文件和子目录
-v详细:显示文件的删除进度
 	rm 文件名          删除当前目录下的文件

1.4 rmdir

rmdir命令用来删除目录。

  rmdir  tools        删除当前目录下一个名为tools的目录

1.5 cp

cp命令用来拷贝文件,复制文件

选项含义
-a保留源文件的权限、所有者和时间戳等属性。
-i互动:如果文件将覆盖目标中的文件,他会提示确认
-r递归:这个选项会复制整个目录树、子目录以及其他
-v详细:显示文件的复制进度
	cp <源文件路径> <目的文件路径>

1.6 mv

mv命令用来移动文件。

选项含义
-f强制:它会超越互动模式,不提示地移动文件,属于很危险的选项
-i互动:如果选择的文件会覆盖目标中的文件,他会提示确认
-v详细:显示文件的移动进度
 	mv 当前目录名 新目录名       修改目录名,同样适用与文件操作
 	mv /usr/tmp/tool  /opt       将/usr/tmp目录下的tool目录移动到到 /opt目录下面

1.7 tar

tar命令用来打包,压缩文件。

选项功能
-c打包文件
-f指定打包的文件名,此参数必须加,且必须在最后一位
-t查看打包的文件内容
-u更新原打包文件的文件
-v显示打包文件过程
-x解包,解压缩
-z压缩为.gz格式
-j压缩为.bz2格式
-J压缩为.xz格式
	tar -czvf all_files.tar.gz 	./*  打包当前目录所有文件并压缩为all_files.tar.gz
	tar -xvf all_robots.tar 解压

1.8 zip

zip命令用来压缩文件。

选项功能
-r压缩目录
zip archive.zip file1 file2 directory1     压缩目录
unzip archive.zip    解压到指定目录

1.9 vim

  vim文件名              //打开需要编辑的文件
  --操作界面有三种模式:命令模式、插入模式和底行模式。
命令模式
  -刚进入文件就是命令模式,通过方向键控制光标位置,
  -使用命令"dd"删除当前整行
  -使用命令"yy"复制当前整行
  -使用命令"/字段"进行查找
  -按"i"在光标所在字符前开始插入
  -按"a"在光标所在字符后开始插入
  -按"o"在光标所在行的下面另起一新行插入
  -按":"进入底行模式
  插入模式
  -此时可以对文件内容进行编辑,左下角会显示 "-- 插入 --""
  -按"ESC"进入底行模式
  底行模式
  -退出编辑:      :q
  -强制退出:      :q!
  -保存并退出:    :wq
  ## 操作步骤示例 ##
  1.保存文件:按"ESC" -> 输入":" -> 输入"wq",回车     //保存并退出编辑
  2.取消操作:按"ESC" -> 输入":" -> 输入"q!",回车     //撤销本次修改并退出编辑
  ## 补充 ##
  vim +10 filename.txt                   //打开文件并跳到第10行
  vim -R /etc/passwd                     //以只读模式打开文件

1.10 查看文件

10.1 cat

cat命令用于连接、显示文件内容、创建文件以及文件合并等操作。

选项功能
-n显示行号
-b只会对有内容的行,显示其行号,空行不显示
-E在linux文件中,每一行的结束,默认会添加一个你看不到的,特殊符号 ‘$’ ,表示是该行的结尾
符号说明举例说明
>重定向覆盖输出符号command > output_file将 command 的输出写入到 output_file 中,覆盖原有内容(如果存在)
<重定向覆盖输入符号command < input_fileinput_file 的内容作为 command 的输入
>>重定向追加输出符号command >> output_filecommand 的输出追加到 output_file 的末尾
<<重定向追加输入符号(here 文档)command << END启动一个 here 文档,直到输入行包含单词 END 为止,所有输入的行都将作为 command 的输入。
特殊用法
cat >> 古诗2.txt <<EOF
数据写这里
EOF

10.2 tac

tac命令将文件从后往前倒着查看

tac 文件名

10.3 more

more命令查看小文件

more 文件名

10.4 less

less显示多少文本,消耗多少内存,省资源

less 文件名 
按q退出

10.5 head

head 查看文件的默认前10行

head -5 文件    查看文件的前5行

10.6 tail

tail 查看文件的默认后10行
tail -f 跟踪文件内容变化,但是需要文件正常退出后,可见,最常用的也就是小写的f,检测程序的日志变化(程序代码,追加新内容到文件中的)。

tail  -5 文件    查看文件的后5行

10.7 wc

计算文本文件中的行数、字数和字节数

选项功能
-l统计文件内有多少航
-w统计文件内的单词数

10.8 du

du命令的功能是用于显示文件目录或大小。
标准用法:du [-选项]

选项含义
-a显示全部目录及其次目录下的每个文件所占的磁盘空间
-b显示目录和文件的大小,以B为单位
-c最后再加上一个总计
-h以KB、MB、GB为单位,提高信息可读性
-s只列出各文件大小的总和
-x只计算属于同一文件系统的文件
	ls -lh 	也显示占用磁盘空间大小

10.9 find

在指定目录下查找文件和目录

命令含义
-name按文件名查找,支持通配符*和?
-type按文件类型查找,f(普通文件)、d(目录)、l(符号链接)等
-size按文件大小查找,n是数字,c表示字节,w表示字。
-mtime n按文件最后修改时间查找,n表示天数,也可以使用-mtime +n或-mtime -n来查找n天前或n天内修改的文件。
-uid按文件所有者查找,uid是用户ID。
-gid按文件组所有者查找,gid是组ID。
-perm按文件权限查找,mode是权限值。
find   /    -name 'doupo.txt'     在根目录"/"下查找名为"doupo.txt"的文件。

10.10 stat

stat 命令用于显示给定文件或文件系统的详细信息。

	File: 文件的名称。
	Size: 文件的大小
	Blocks: 文件所占的块数
	IO Block: 文件系统的输入/输出块大小
	Device: 文件所在的设备号
	Inode: 文件的索引节点号
	Links: 文件的硬链接数
	Access: 文件的访问权限为
	Uid: 文件拥有者的用户 ID 
	Gid: 文件拥有者的组 ID
	Access: 文件的访问时间
	Modify: 文件的修改时间
	Change: 文件的状态改变时间
	Birth: 文件的创建时间

1.11 alias

alias命令用于设置或显示Shell的别名。

	alias				 查看所有别名
	alias 	la='ls -al' 			修改别名
	unalias ll			删除别名

1.12 grep

grep命令对数据进行过滤查找关键字

选项含义
-i忽略大小写
-n输出匹配行的行号
grep money test.txt     在test.txt中查找money这个字符串,grep查找是区分大小写的。

1.13 pwd

该命令的英文解释为print working directory(打印工作目录)。输入pwd命令,Linux会输出当前目录。

1.14 cd

cd命令用来改变所在目录。

	  cd /                 //切换到根目录
	  cd /bin              //切换到根目录下的bin目录
	  cd ..                //切换到上一级目录
	  cd ~                 //切换到当前用户主目录
	  cd -                 //切换到上次访问的目录
	  cd xx(文件夹名)       //切换到本目录下的名为xx的文件目录,如果目录不存在报错
	  cd /xxx/xx/x         //可以输入完整的路径,直接切换到目标目录,输入过程中可以使用tab键快速补全

1.15 ls

ls命令用来查看目录的内容。

选项含义
-a列举目录中的全部文件,包括隐藏文件
-l列举目录中的细节,包括权限、所有者、组群、大小、创建日期、文件是否是链接等
-f列举的文件显示文件类型
-r逆向,从后向前地列举目录中内容
-R递归,该选项递归地列举当前目录下所有子目录内的内容
-s大小,按文件大小排序
-h以人类可读的方式显示文件的大小,如用K、M、G作单位
	ls -l examples.doc	列举文件examples.doc的所有信息

1.16管道符

管道符“|”是Linux和Unix操作系统中的一种特殊字符,用于将一个命令的输出作为另一个命令的输入。这种机制被称为流重定向,它是shell脚本编程和自动化任务中常用的技术之一。

	find / -name '*.txt' | grep 'apple'

1.17 xargs

xargs命令将参数列表转换成小块分段传递给其他命令。
{}也是xargs的占位符

  • i 指定替换字符串,用于将参数列表中的每个元素插入到命令中。
用法:
find /tmp/ - name '*.log' | xargs -i cp {} {}.bak   查找/tmp/目录下所有以.log结尾的文件,并将它们复制一份,新文件的名字在原文件名的基础上加上.bak后缀。
ls | xargs -i mv {} {}.log     将当前目录下的所有文件移动到一个新的位置,新文件的名字在原文件名的基础上加上.log后缀。

1.18 工具

1.18.1 tree

tree命令查看文件目录结构

  • -N 是显示中文
  • -F 显示文件类型

1.18.2 history

history命令查看命令历史记录

  • -c 清空当前会话的历史记录
  • -w 把当前的历史记录,内存中数据写入到文件中
  • .bash_history文件是Linux Bash shell用来存储用户最近执行过的命令的历史记录。这个文件位于用户的HOME目录下,默认情况下会保存用户最近执行的1000条命令。

1.18.3 scp

  • scp -r /var/log/ root@x.x.x.x:/opt/ 把整个目录拷贝过去
  • scp -r root@x.x.x.x:/opt/ /etc/ 把远程数据数据整个目录拷贝到本地
这里ssh -p xxx user@ip为例   -p xxx端口号
从本地复制到远程:
scp -P xxx <文件> user@ip:/home/user/  ##(这里用户默认目录为/home/user/)
scp -rP xxx <文件夹> user@ip:/home/user/  
从远程复制到本地:
scp -rP xxx user@:/home/user/<文件夹名>    C:\Users\Administrator\Desktop\<文件夹名> 
scp -P xxx user@ip:/home/user/ <文件名>     C:\Users\Administrator\Desktop\<文件名>

2.用户管理命令

2.1 useradd

useradd命令用于添加用户账号

选项说明
-c指定用户的注释/描述信息
-e指定用户账户的过期日期
-f缓冲天数 指在密码过期后多少天即关闭该账号
-g指定用户所属的群组
-G指定用户所属的附加群组
-M不要自动建立用户的家目录
-m创建用户时同时创建用户的家目录
-d指定用户的家目录路径
-s指定用户的登录shell
-u指定用户ID
创建一个新用户newuser,其家目录为/home/newuser,登录shell为/bin/bash,初始主组为users。
useradd -m -d /home/newuser -s /bin/bash -g users newuser

2.2 userdel

userdel命令用于删除用户账号

选项说明
-r删除用户登入目录以及目录中所有文件
-f强制删除用户账号

2.3 usermod

usermod命令用于修改用户账号属性

选项说明
-c指定用户的注释/描述信息
-e指定用户账户的过期日期
-f缓冲天数 指在密码过期后多少天即关闭该账号
-g指定用户所属的群组
-G指定用户所属的附加群组
-M不要自动建立用户的家目录
-m创建用户时同时创建用户的家目录
-d指定用户的家目录路径
-s指定用户的登录shell
-u指定用户ID
-L锁定用户密码,使密码无效
-U解除密码锁定

2.4 passwd

passwd命令用于修改用户密码

选项说明
-f强迫用户下次登录时必须修改口令
-g修改群组密码
-l停止账号使用
-u启用已被停止的账户
-d删除密码
-S显示密码信息

2.5 su

su命令用于切换用户身份

选项说明
-切换到root用户,不需要输入密码
-c执行完指定的命令后,返回到原来的用户身份
-f只切换用户身份,不启动一个新的shell
-l完全切换到目标用户的环境,包括环境变量和当前工作目录
-m保留当前用户的环境变量
-p改变用户ID和组ID,但保持环境变量不变
-s指定要启动的shell程序

2.6 sudo

sudo命令用于允许用户以超级用户或其他用户的身份执行命令

选项说明
-b在后台执行命令
-E保留当前环境变量
-H提示用户输入密码
-i加载用户变量,并跳转到目标用户home目录
-p指定命令执行前的提示语
-u指定要切换的用户
-v详细模式,显示命令的每个步骤
-V显示版本信息
-执行命令,后跟命令和参数
-k将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)

2.7 其他命令

2.7.1 whoami

打印当前用户名

2.7.2 who

显示已登录的用户信息

2.7.3 w

显示系统登录用户信息,以及负载信息

2.7.4 last

显示近期登录的终端有哪些

2.7.5 lastlog

显示关于用户的登录记录

3. 文件权限管理

3.1 chmod

chmod命令用于修改文件或目录权限
chmod命令有两种主要的用法:符号模式和绝对模式。
符号模式下

文件的使用者说明权限说明增减说明
u拥有文件的用户r读取权+添加权限
g所有者所在的组群w写入权-删除权限
o其他人x执行权=是它称为唯一权限
a全部(u,g和o)

在绝对模式下,

  文件权限简介:'r' 代表可读(4),'w' 代表可写(2),'x' 代表执行权限(1),括号内代表"8421法"
  ##文件权限信息示例:-rwxrw-r--
  -第一位:'-'就代表是文件,'d'代表是文件夹
  -第一组三位:拥有者的权限
  -第二组三位:拥有者所在的组,组员的权限
  -第三组三位:代表的是其他用户的权限

chmod还有一些选项

选项说明
-c该文件权限确实已经更改,才显示其更改动作
-f该文件权限无法被更改,也不要显示错误讯息
-v显示权限变更的详细资料
-R修改目录及子目录的所有文件权限

3.2 chown

chown命令用于修改文件和目录的所有者和所属组

选项说明
-c显示更改的部分的信息。
-f忽略错误信息。
-h修复符号链接。
-R或-r递归地应用更改到目录下的所有文件或子目录。

3.3 chgrp

chgrp用于修改文件和目录的所属组

chgrp group1 file1 改变文件的群组

3.4 suid

suid 执行此文件时会以文件所有者的身份运行

3.5 sgid

sgid 执行此文件时会以文件所属组的身份运行

3.6 sbit

共享目录
chmod o+t /0224linux/

4.定时任务

4.1 crontab

选项说明
-l列出当前用户有哪些计划任务
-e编辑当前用户的计划任务
-r删除当前用户的计划任务
	创建定时任务后,会在该目录存在该用户名的文件/var/spool/cron/
	/etc/cron.deny 黑名单文件 (将系统中,所有uid大于1000的用户,全部写入黑名单)
	/etc/cron.allow 白名单 ,优先级高于黑名单
	/var/log/cron 定时任务,服务端的运行日志

5.资源管理

5.1 ps

ps命令用来查看在计算机系统中有哪些程序正在执行,及其执行的情况。这是一个相当强大的命令,可以用它来找出所有的process id和名称。另外,ps命令也可以用来列出所有程序占用内存的情况。用法如下: ps –(选项)

选项功能
-l用长格式列出
-u列出使用者的名称和使用时间
-m列出内存分布的情况
-r只列出正在执行的前台程序,不列出其他信息
-x列出所有程序,包括那些没有终端机的程序

常用命令
ps 显示当前用户的所有进程
ps -ef 显示所有用户的进程信息
ps -aux 显示完整的进程信息
ps -e --forest 实时显示进程信息

5.2 pstree

pstree 显示进程树的命令

选项描述
-p显示进程ID
-a显示命令行参数
-c以紧凑格式显示
-l显示进程的完整命令行
–arguments 同 -a,显示命令行参数
–compact 同 -c,以紧凑格式显示
–long 同 -l,显示进程的完整命令行

5.3 pidof

pidof 用于查找指定进程名对应的进程 ID(PID)。它的常见用法是通过进程名来查找进程的 PID。如果有多个同名进程在运行,pidof 将以空格分隔的形式输出这些进程的 PID。

5.4 lsof

lsof 是一个用于列出当前系统中打开的文件(file)、套接字(socket)和网络连接的命令。

5.5 kill

kill命令用来终止一个正在执行中的进程。如果一个程序执行过程中失败了,可以把这个程序终止,避免留在内存中占用系统资源。不过,它的实际意义是送一个信号给这个正在执行的程序,叫它自杀。可以送很多信号给这些程序,也可以让他们受到信号后做很多事情。标准用法:kill –(选项) pid
在执行kill命令前。可以先用ps命令查一下某宕掉程序的pid,然后使用kill除去某个程序。例如,终止pid为90的程序:kill 90

选项功能
-l列出所有可用的信号名称
-p印出pid并不发送信号
-signal其中可用的讯号有 HUP (1), KILL (9), TERM (15), 分别代表著重跑, 砍掉, 结束
将 pid 为 323 的行程砍掉 (kill) :
	kill -9 323
将 pid 为 456 的行程重跑 (restart) :
	kill -HUP 456

5.6 top

top命令可以查看目前程序的执行情景和内存使用。它和ps类似,不过,它会几秒钟更新一次系统状态,方便追踪。要离开这个程序,按Ctrl+C键就可以了。

5.7 后台命令

  • jobs 是一个用于显示当前终端会话中正在执行的作业列表的命令。一个作业可以是一个前台任务,也可以是一个后台任务。
  • ctrl+z 暂停进程
  • bg 程序放入后台运行
  • fg 将后台任务放入前台执行

5.8 free

free 用于显示系统内存使用情况。

选项描述
-h, --human以人类可读的方式显示内存大小(例如,以 KB、MB、GB 等格式显示)。
-b, --bytes以字节为单位显示内存大小。
-k, --kilo以 KB(千字节)为单位显示内存大小。
-m, --mega以 MB(兆字节)为单位显示内存大小。
-g, --giga以 GB(千兆字节)为单位显示内存大小。

5.9 df

df用于显示文件系统的磁盘空间使用情况。

选项描述
-h以人类可读的方式显示磁盘空间大小。
-T显示文件系统类型。
-i显示 inode 的使用情况。

5.10 netstat

netstat 是一个常用的网络工具命令,用于显示各种网络相关信息,包括网络连接、路由表、接口统计等。它可以帮助用户监视系统的网络活动和网络配置。

选项描述
-a显示所有的网络连接和监听端口。
-t仅显示 TCP 协议的连接。
-u仅显示 UDP 协议的连接。
-n以数字形式显示地址和端口号。
-p显示与每个连接相关联的进程信息。
-l显示监听状态的连接,只显示正在侦听连接的端口。
常用命令:
	ps -ef | grep nginx
	netstat -tunlp | grep nginx
	netstat -tunlp | grep 80

6 .系统服务命令

6.1 systemctl

systemctl 是一个管理系统服务的命令行工具,用于在基于 systemd 的 Linux 系统上启动、停止、重启和管理系统服务。systemd 是一个用于 Linux 的系统和服务管理器,它负责启动系统时的进程管理、系统日志、系统和用户服务的管理等。
systemctl 提供了对系统服务的集中控制和管理,包括管理系统启动时自动启动的服务、查看服务状态、重载服务配置文件等。

命令描述
start启动指定的服务。
stop停止指定的服务。
restart重启指定的服务。
status显示指定服务的当前状态。
enable设置指定服务为系统启动时自动启动。
disable取消指定服务的自动启动设置。
reload重新加载服务的配置文件。

6.2 service

service 命令通常用于在 Linux 系统上管理系统服务。它提供了一种简单的方式来启动、停止、重新启动和查询服务的状态。在基于 systemd 的系统中,service 命令通常是一个符号链接到 systemctl 命令的替代品,因此它们之间的功能和用法基本相同。

选项描述
start启动指定的服务。
stop停止指定的服务。
restart重启指定的服务。
status显示指定服务的当前状态。
reload重新加载服务的配置文件。
--status-all显示所有服务的状态。
--full-restart全面重启服务。
--help显示帮助信息。

6.3 chkconfig

chkconfig 是一个在 Linux 系统中管理系统服务启动级别的命令行工具。它允许用户在系统启动时自动启动或禁用特定的服务,并指定服务在特定运行级别下的启动顺序。

选项描述
--list显示当前系统上所有服务的启动状态。
--add添加一个新的服务到 chkconfig 管理中。
--del从 chkconfig 管理中删除一个服务。
--level指定服务在特定运行级别下的启动状态。

6.4 shutdown

要使用这个命令必须保证是根用户,否则使用su命令改变为根用户。命令格式如下:shutdown –(选项)

选项功能
-k不是真正的关机,只是发出警告命令
-r关机后重启
-t在规定的时间内关机
加入要在2min内关机,输入命令:
	shutdown –t 2
如果是关机后重启,输入命令:
	shutdown –r

6.5 reboot

这个命令也是一个关机命令,只有输入,不加任何参数,系统会以最快的速度关机,且不将内存或缓冲区里的东西写回硬盘。

选项功能
-d不把记录写到/var/log/wtmp档案里(-n这个参数包含了-d)
-f强迫重开机,不呼叫shutdown这个指令
-n在重开机前不做将记忆体资料写回硬盘
-w并不会真的重开机,只是把记录写到/var/log/wtmp档案里

6.6 date

date命令用来显示、设定和修改现在的时间和日期。标准用法:
date –(选项) 显示时间格式(以+号开头,后加格式)
date 设定时间格式

选项功能
-u使用格林尼治时间
-r最后一次修改文件的时间
-s设置时间

常用的几种时间格式如下表所示:

格式说明
%a星期几的简称,例如一、二、三
%A星期几的全名,例如星期一、星期二
%D日期(mm/dd/yy格式)
%T显示时间格式,24小时制(hh:mm:ss)
%x显示日期的格式(mm/dd/yy)
%y年的最后两个数字
%Y年(如2007、2008)
%r时间(hh:mm:ss 上午或下午)
%p显示上午或下午
如果输入命令:
	date “+%x,%r”
系统返回如下信息:
	2010年3月26日,下午 18时06分49秒

6.7 cal

cal命令有两种功能:显示月历以及年历。
直接输入cal命令则系统会显示目前月份的月历。
若要显示一整年的年历,可以在cal命令后加4位数的公元年份。例如要显示2008年的年历,必须输入:
cal 2008
若输入 cal 08 ,则最显示公元8年的年历。
若只需要查看某一年份中某一月份的月历,可以输入:cal 月份 公元年份。例如输入:"cal 12 2004”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值