Linux 命令
- 开关机命令
- ifconfig 查看IP
- 用户相关
- 特殊字符 重定向相关
- 防火墙相关
- ls 命令
- cd 切换目录
- pwd 查看当前工作目录路径
- 创建文件夹
- 删除文件
- 删除空目录
- 移动文件或修改文件名
- 复制
- cat
- more 分页显示
- less
- head
- tail
- which 查看可执行文件的位置
- whereis 查看可执行文件
- locate
- find 文件树中查找文件
- grep 文本搜索命令
- chmod 访问权限
- tar 压缩和解压
- chown 改为指定的用户或组
- df 显示磁盘空间
- du 查看使用空间
- ln命令
- date 显示时间
- cal命令
- wc命令
- ps 查看进程
- top 正执行的进程
- kill 杀死进程
- free 显示内存使用情况
- scp 传输文件
- VI 和vim 编辑文本
- PATH
- PS1 设置命令提示符显示的内容
- | 管道命令
开关机命令
reboot // 重启系统
poweroff //关闭系统
shutdown [选项] 时间 [警告信息]
选项:-c:取消已经执行的 shutdown 命令;
-h:关机;
-r:重启;
eg: shutdown -h now //立刻关机
shutdown -r 10:30 //在10:30重启
ifconfig 查看IP
ip addr //列出已经启动的网卡
ifconfig //列出已经启动的网卡
ifconfig eth0 //查看网卡eth0
用户相关
// 添加用户
useradd <用户名>
//设置或修改当前用户的密码
passwd
// 设置或修改指定用户的密码
passwd <用户名>
// 切换用户
su <用户名>
su - <用户名> //完全切换到新的用户,即环境变量信息也变更为新用户的信息
// 退出当前用户
exit
ctrl + d
// 登出
logout
特殊字符 重定向相关
输入/输出 重定向符号
1.>> 追加重定向,把文字追加到文件的结尾
2.> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
3.< 输入重定向
4.<< 将输入结果输入重定向
echo "oldboy-python666" > /tmp/oldboy.txt
echo "chaoge666" >> /tmp/oldboy.txt
cat >>/tmp/oldboy.txt << EOF
防火墙相关
systemctl status firewalld //查看防火墙状态
systemctl start firewalld //开启防火墙
systemctl stop firewalld //关闭防火墙
systemctl disable firewalld //关闭防火墙开机启动
systemctl is-enabled firewalld.service //检查防火墙是否启动
ls 命令
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
cd 切换目录
cd [目录]
cd //切换到当前用户的家目录
cd / //切换到根目录
cd - //切换到前一次的目录
cd .. //切换到上一级目录
pwd 查看当前工作目录路径
pwd //查看当前工作目录路径
pwd -P //查看软链接的实际路径
创建文件夹
mkdir [路径]
mkdir -p [路径] //若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那 些尚不在的目录,即一次可以建立多个目录;
删除文件
rm [选项] [文件名]
选项: -f 强制删除,不需确认
-i 删除前需要确认
-d 删除空文件夹
-r 递归删除目录及其内容
-v 输出处理信息
删除空目录
rmdir [选项] [文件名]
选项: -p 删除了空目录后,使上一级目录为空时,上一级目录也会被删除
-v 输出处理信息
移动文件或修改文件名
mv [选项] [文件名或路径] [修改后的文件名或路径]
选项: -f 在覆盖文件时不会提示
-i 在覆盖文件前需要确认
-n 不会覆盖已经存在的文件
-b 备份
-v 输出操作信息
复制
cp [选项] [源文件的路径] [目标路径]
选项: -f 如果目标文件无法打开,会将其删除并重试
-i 在复制文件前需要确认
-a 复制的文件的时间与源文件一样
-r 复制目录及目录内所有项目
-s 创建一个软链接(快捷方式)
-l 创建一个硬链接
-v 输出操作信息
cat
cat [选项] [文件名] // 显示整个文件
cat > [文件名] // 创建一个新文件(不能编辑)
cat file1 file2 > file3 // 将几个文件合并成一个文件
选项: -b 对非空行输出行号
-n 对所有行输出行号
tac [文件名] //按行反序显示文件内容
more 分页显示
more [选项] [文件名] // 分页显示整个文件
选项: +n 从笫n行开始显示
-n 定义屏幕大小为n行
-c 从顶部清屏,然后显示
-d 提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l 忽略Ctrl+l(换页)字符
-p 通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s 把连续的多个空行显示为一行
-u 把文件内容中的下画线去掉
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
常用操作命令:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
less
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,
却不能向后移动,而且 less 在查看之前不会加载整个文件。
less [选项] [文件名]
选项: -i 忽略搜索时的大小写
-N 显示每行的行号
-s 显示连续空行为一行
-o <文件名> 将less 输出的内容在指定文件中保存起来
-x <数字> 将“tab”键显示为规定的数字空格
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown] 向下翻动一页
[pageup] 向上翻动一页
head
head [选项] [文件名] // 显示文件
选项: -n num 显示文件前num行
-c num 显示文件前num个字节
tail
tail [选项] [文件名] // 显示整个文件
选项: -f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示行数
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束.
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒
which 查看可执行文件的位置
which是在PATH就是指定的路径中,搜索某个系统命令的位置,
并返回第一个搜索结果。使用which命令,就可以看到某个系
统命令是否存在,以及执行的到底是哪一个位置的命令。
which [选项] [文件名] // 查看可执行文件的位置
选项: -n 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
whereis 查看可执行文件
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。
如果省略参数,则返回所有信息。whereis及locate都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
whereis [选项] [文件名] // 查看可执行文件的位置
选项: -b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
locate
locate通过搜寻系统内建文档数据库达到快速找到档案,数据库由updatedb程序来更新
locate [选项] [文件名] //
选项: -l num(要显示的行数)
-f 将特定的档案系统排除在外,如将proc排除在外
-r 使用正则运算式做为寻找条件
find 文件树中查找文件
find pathname -options [-print -exec -ok ...]
命令参数:
pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
选项: -name 按照文件名查找文件
-perm 按文件权限查找文件
-user 按文件属主查找文件
-group 按照文件所属的组来查找文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件
d - 目录
c - 字符设备文件
l - 符号链接文件
p - 管道文件
f - 普通文件
-size n :[c] 查找文件长度为n块文件,带有c时表文件字节大小
-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
(用减号-来限定更改时间在距今n日以内的文件,而用加号+来限定更改时间在距今n日以前的文件。 )
-maxdepth n 最大查找目录深度
-prune 选项来指出需要忽略的目录。在使用-prune选项时要当心,因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略
-newer 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项
grep 文本搜索命令
强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索
grep [选项] pattern file|dir
pattern: 正则表达式
选项: -A n --after-context 显示匹配字符后n行
-B n --before-context 显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹
grep的规则表达式:
^ 锚定行的开始 如:'^grep'匹配所有以grep开头的行。
$ 锚定行的结束 如:'grep$'匹配所有以grep结尾的行。
. 匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。
* 匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.* 一起用代表任意字符。
[] 匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。
[^] 匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。
(..) 标记匹配字符,如'(love)',love被标记为1。
< 锚定单词的开始,如:'<grep'匹配包含以grep开头的单词的行。
> 锚定单词的结束,如'grep>'匹配包含以grep结尾的单词的行。
x{m} 重复字符x,m次,如:'0{5}'匹配包含5个o的行。
x{m,} 重复字符x,至少m次,如:'o{5,}'匹配至少有5个o的行。
x{m,n} 重复字符x,至少m次,不多于n次,如:'o{5,10}'匹配5--10个o的行。
\w 匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。
\W \w的反置形式,匹配一个或多个非单词字符,如点号句号等。
\b 单词锁定符,如: '\bgrep\b'只匹配grep。
chmod 访问权限
chmod [权限] [文件名] [选项]
选项: -c 当发生改变时,报告处理信息
-R 处理指定目录以及其子目录下所有文件
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
r :读权限,用数字4表示
w :写权限,用数字2表示
x :执行权限,用数字1表示
- :删除权限,用数字0表示
s :特殊权限
eg:
chmod 751 test.txt -c //给test.txt 文件的属主、属组和其它分别授予权限
chmod a+w testdir -R //给testdir及其子文件的所有用户授予写权限
chmod u-x test.txt //将属主的执行权限撤销
chmod o=r test.txt //撤销所有用户的权限,在给其它用户授予读权限
tar 压缩和解压
tar本身只具有打包功能,有关压缩及解压是调用其它的功能来完成。
tar [选项] [目标打包(压缩)文件名] [要打包压缩的文件]
选项:-c 建立新的压缩文件
-f 指定压缩文件
-r 添加文件到已经压缩文件包中
-u 添加改了和现有的文件到压缩包中
-x 从压缩包中抽取文件
-t 显示压缩文件中的内容
-z 支持gzip压缩
-j 支持bzip2压缩
-Z 支持compress解压文件
-v 显示操作过程
--exclude [文件名] 将该文件不加入打的包中
gzip实例:
gzip fileName.tar.gz 相当于 tar zcvf filename.tar.gz
gzip -d filename.gz 相当于 tar zxvf filename.tar.gz
bz2实例:
bzip2 -z filename.tar.bz2 相当于 tar jcvf filename.tar.gz
bzip2 -d filename.bz2 相当于 tar jxvf filename.tar.bz2
chown 改为指定的用户或组
chown [选项] [用户]:[组] [文件]
选项: -c 显示更改的部分的信息
-R 处理指定目录及子目录
df 显示磁盘空间
df [选项]
选项: -a 全部文件系统列表
-h 以方便阅读的方式显示信息
-i 显示inode信息
-k 区块为1024字节
-l 只显示本地磁盘
-T 列出文件系统类型
du 查看使用空间
du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看
du [选项][文件]
选项: -a 显示目录中所有文件大小
-k 以KB为单位显示文件大小
-m 以MB为单位显示文件大小
-g 以GB为单位显示文件大小
-h 以易读方式显示文件大小
-s 仅显示总计
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
ln命令
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以跨文件系统,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接
硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建
ln [选项][文件]
选项: -b 删除,覆盖以前建立的链接
-s 软链接(符号链接)
-v 显示详细处理过程
date 显示时间
显示或设定系统的日期与时间
date [选项]
选项: -d<字符串> 显示字符串所指的日期与时间。字符串前后必须加上双引号。
-s<字符串> 根据字符串来设置日期与时间。字符串前后必须加上双引号。
-u 显示GMT。
%H 小时(00-23)
%I 小时(00-12)
%M 分钟(以00-59来表示)
%s 总秒数。起算时间为1970-01-01 00:00:00 UTC。
%S 秒(以本地的惯用法来表示)
%a 星期的缩写。
%A 星期的完整名称。
%d 日期(以01-31来表示)。
%D 日期(含年月日)。
%m 月份(以01-12来表示)。
%y 年份(以00-99来表示)。
%Y 年份(以四位数来表示)。
eg:
date +%Y%m%d --date="+1 day" //显示下一天的日期
date -d "nov 22" //今年的 11 月 22 日是星期三
date -d '2 weeks' //2周后的日期
date -d 'next monday' //下周一的日期
date -d next-day +%Y%m%d date -d tomorrow +%Y%m%d //明天的日期
date -d last-day +%Y%m%d date -d yesterday +%Y%m%d //昨天的日期
date -d last-month +%Y%m //上个月是几月
date -d next-month +%Y%m //下个月是几月
cal命令
cal [选项] [月] [年]
选项: -3 显示前一月,当前月,后一月三个月的日历
-m 显示星期一为第一列
-j 显示在当前年第几天
-y [year] 显示当前年[year]份的日历
wc命令
wc : word count
wc [选项] [文件]
选项: -c 统计字节数
-l 统计行数
-m 统计字符数
-w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
ps 查看进程
ps(process status),用来查看当前运行的进程状态,一次性查看,
如果需要动态连续结果使用top
linux上进程有5种状态:
1. 运行(正在运行或在运行队列中等待)
2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)
ps工具标识进程的5种状态码:
D 不可中断 uninterruptible sleep (usually IO)
R 运行 runnable (on run queue)
S 中断 sleeping
T 停止 traced or stopped
Z 僵死 a defunct (”zombie”) process
选项:
-A 显示所有进程
a 显示所有进程
-a 显示同一终端下所有进程
c 显示进程真实名称
e 显示环境变量
f 显示进程间的关系
r 显示当前终端运行的进程
-aux 显示所有包含其它使用的进程
top 正执行的进程
显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等
top [ 选项]
选项: -c 显示完整的进程命令
-s 保密模式
-p <进程号> 指定进程显示
-n <次数> 循环显示次数
显示信息的列名:
PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
top交互命令:
h 显示top交互命令帮助信息
c 切换显示命令名称和完整命令行
m 以内存使用率排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中
o或者O 改变显示项目的顺序
kill 杀死进程
kill [选项] [进程号]
选项: -l 信号,若果不加信号的编号参数,则使用“-l”参数会列出全部的信号名称
-a 当处理当前进程时,不限制命令名和进程号的对应关系
-p 指定kill 命令只打印相关进程的进程号,而不发送任何信号
-s 指定发送信号
-u 指定用户
free 显示内存使用情况
显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
free [选项]
选项:-b 以Byte显示内存使用情况
-k 以kb为单位显示内存使用情况
-m 以mb为单位显示内存使用情况
-g 以gb为单位显示内存使用情况
-t 显示内存使用总合
-s<间隔秒数> 持续显示内存
scp 传输文件
scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令
scp [选项] 本地源文件 远程文件标记
选项: -r 递归复制整个目录
-v 详细方式输出
-q 不显示传输进度条
-C 允许压缩
eg:
传输本地文件到远程地址
scp 本地文件 远程用户名@远程ip:远程文件夹/
scp 本地文件 远程用户名@远程ip:远程文件夹/远程文件名
scp /tmp/chaoge.py root@192.168.1.155:/home/
scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py
scp -r 本地文件夹 远程用户名@远程ip:远程文件夹/
scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy
复制远程文件到本地
scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
scp -r root@192.168.1.155:/home/oldboy /home/
VI 和vim 编辑文本
vi filename 打开或新建文件,并将光标置于第一行首
vi n filename 打开文件,并将光标置于第n行首
vi /pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处
vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filename
vi filename....filename 打开多个文件,依次进行编辑
屏幕翻滚类命令:
Ctrl u:向文件首翻半屏
Ctrl d:向文件尾翻半屏
Ctrl f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部.
插入文本类命令:
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
保存退出:
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
PATH
注意事项: PATH中的环境变量有顺序,如果你添加的变量需要优先被搜索出,
需要添加在变量首,否则放在尾部
echo $PATH // 查看环境变量
export PATH=/usr/local/mongdb/bin:$PATH //临时修改环境变量
优点:立即生效
缺点:临时改变,只针对当前终端,退出就恢复原样
针对用户修改PATH变量:
vim ~/.bashrc
在最后一行添加
export PATH=/usr/local/mongodb/bin:$PATH
保存关闭
读取该文件让其生效
source ~/.bashrc
优点:针对当前用户,永久有效
缺点:仅限当前用户
全局修改PATH变量:
编辑该文件
vim /etc/profile
在文件尾添加,
export PATH=/usr/local/mongodb/bin:$PATH
保存退出,重启生效
PS1 设置命令提示符显示的内容
echo $PS1 //查看
内部变量:
\d 日期
\H 完整主机名
\h 主机名第一个名字
\t 时间24小时制HHMMSS
\T 时间12小时制
\A 时间24小时制HHMM
\u 当前用户账号名
\v BASH的版本
\w 完整工作目录
\W 利用basename取得工作目录名
\# 下达的第几个命令
\$ 提示字符,root为#,普通用户为$
全局修改
vim /etc/profile
文件尾添加
PS1='[\u@\h \W\t]\$' # 针对上述变量自行更改
重启生效
临时修改
export PS1='[\u@\h \W\t]\$'
| 管道命令
Linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
eg:
ps -ef|grep "python" 检查python程序是否启动
ls /tmp|grep '.txt' 找到/tmp目录下所有txt文件
netstat -tunlp |grep nginx 检查nginx的端口是否存活
转载至:https://www.cnblogs.com/yuncong/p/10247583.html#autoid-0-0-0.