Linux 基本命令
查看命令
ls 查看目录文件
ls -la 查看所有目录(包括隐藏文件)
stat 文件(目录) 查看文件(目录)的详细信息
lsattr 文件 查看文件的隐藏属性
. 当前目录
.. 上一层目录
– 前一个工作目录
~ 当前【用户】所在的家目录
文件夹操作
增
mkdir 文件夹名称 创建文件夹
touch .py文件 创建一个文件
可以使用递归来生成文件夹结构
全是文件夹的 mkdir -p(参数) 文件夹1/文件夹2/文件夹3
文件夹下的文件 mkdir -p(参数) 文件夹4/{文件夹5,文件夹6,文件夹7} (文件夹5、6、7并列)
删
rmdir 文件夹名称(空的)
想要删除非空的文件夹 rm -rf ./*
改
mv 原文件名 新文件名(也有可能是移动)
执行第一个python命令
touch .py文件 创建一个py文件
vi py文件 进入文件中
按下键 i 进入编辑模式
按下键o (在光标所在的下一行进入编辑模式)
按下键 Esc 进入命令模式
输入命令 :wq! 保存退出
输入命令 :q! 退出,不保存
vi 或 vim
所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。
但是目前我们使用比较多的是 vim 编辑器。
vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。
vi/vim 的使用
基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
命令模式
用户刚刚启动 vi/vim,便进入了命令模式。
此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令
移动光标
w(e) 移动光标到下一个单词
b 移动到光标上一个单词
数字0 移动到本行开头
$ 移动光标到本行结尾
H 移动光标到屏幕首行
M 移动到光标到屏幕的中间一行
L 移动光标到屏幕的尾行
gg 移动光标到文档的首行
G 移动光标到文档尾行
ctrl + f 下一页
ctrl + b 上一页
`. 移动光标到上一次的修改行查找
/chaoge 在整篇文档中搜索chaoge字符串,向下查找 ?chaoge 在整篇文档中搜索chaoge字符串,向上查找 * 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处 # 查找整个文档,匹配光标所在的所有单词,按下n查找下一处,N上一处 gd 找到光标所在单词匹配的单词,并停留在非注释的第一个匹配上
% 找到括号的另一半!!复制,删除,粘贴
yy 拷贝光标所在行 dd 删除光标所在行 D 删除当前光标到行尾的内容 dG 删除当前行到文档尾部的内容 p 粘贴yy所复制的内容
x 删除光标所在的字符
u 撤销上一步的操作数字与命令
3yy 拷贝光标所在的3行
5dd 删除光标所在5行输入模式
在命令模式下按下字母i 可以进入输入模式
在输入模式下按下键Esc 可以退出输入模式
底线命令模式
在命令模式下输入冒号(英文的:),就进入了底线命令模式,在底线命令模式下可以输入单个或多个字符的命令,常用命令有:
:q! 强制退出 :wq! 强制写入退出
:set nu 显示行号
:数字 调到数字那行
随时按下esc可以退出底线命令模式vim按键
移动光标
移动光标的方法 h 或 向左箭头键(←) 光标向左移动一个字符 j 或 向下箭头键(↓) 光标向下移动一个字符 k 或 向上箭头键(↑) 光标向上移动一个字符 l 或 向右箭头键(→) 光标向右移动一个字符
向下移动5行 5j
向右移动10字符 10l
n(space) 按下数字n,例如10,然后按下空格,光标会向右移动10个字符底线命令
:! command 暂时离开vim指令模式,执行command的结果 例如 :!ip a 临时看一下ip信息,然后可以回到vim
:set nu 显示vim行号
:set nonu 取消行号更多vim用法请看菜鸟教程:http://www.runoob.com/linux/linux-vim.html
vi 文件(vim 文件) 进入文件
默认是命令模式,需要输入a/i进入编辑模式,然后输入文本”Life is short,i use python“
按下esc键,回到命令模式 输入 :wq! 强制保存退出
w write 写入
q quit 退出
! 强制
或者😡 保存退出
:q 不保存退出
:q! 不保存强制退出
链接:vim与程序员
cat
cat命令用于查看纯文本文件(常用于内容较少的)
cat w文件 查看w文件
cat -n w文件 或 cat w文件 -n 查看文件并打印行号
cat 追加文字到文件
mory
用于查看内容多的文本
例如要看一个很长的配置文件,cat查看内容屏幕会快速翻滚到结尾。
more命令查看文本会以百分比形式告知已经看到了多少,使用回车键向下读取内容
mory 路径/文本
echo
echo命令用于在终端输出字符串或变量提取后的值,格式是“echo 【字符串|$变量】”
覆盖写入 和 追加写入(echo有打印的意思,只是将打印的内容没有打印在终端而是打印在文件中)
特殊符号
重定向符号 1.>> 追加重定向,把文字追加到文件的结尾 2.> 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾 echo "oldboy-python666" > /tmp/oldboy.txt echo "chaoge666" >> /tmp/oldboy.txt ------------------------------------ 我想把命令执行的结果信息,写入到文件中 ip addr > /tmp/network.txt #标准输出重定向 把命令执行结果信息,放入到文件中 3.通配符 * ls -l /etc/us* 查看etc文件夹下以us开头的详细信息
复制
copy 简写 cp
在操作文件前,请先做好备份
cp 新建文件 新建文件备份
cp 参数 目标文件 重命名,复制后的文件
参数:
cp -r 递归,复制目录以及目录的子孙后代(相当于新建了一个目录只是这个目录的结构)
cp -p 复制文件,同时保持文件属性不变
cp -a 相当于 -pdr (完全复制)
复制XXX.py 到 tmp 目录下
cp XXX.py tmp
复制XXX.py 到 tmp 目录下顺便改名为chaoge.py
cp XXX.py tmp/chaoge.py
移动命令(改名)
move 简写 mv
mv 旧目录 新目录 改名:将旧目录改名为新目录
mv 移动目录 目录 移动:将移动目录移动到目录中
mv 移动文件 目录 移动:将移动文件移动到目录中
移动和改名的区别在于:要移动(改名)的对象是否存在,若存在为移动,不存在是改名
删除命令
remove 简写 rm
rm XXX.py 只适用于空的文件,无法删除目录
在删除的时候,会有提示:是否确认删除,你需要按 y 确认
参数
-f 取消提示,强制删除
-r 可以删除目录
rm -rf tmp 删除目录tmp,取消提示
新手注意:
rm -rf ./* 这句话的意思是 删除(rm)当前(.)目录(-r)下的所有内容(*) 且没有提示(-f)
——————
基于以上友情提示:初学者使用rm命令,要随时快照虚拟机(备份存档)
在虚拟机上(不是Xshell等远程连接的对象)
xargs命令
find查找
Linux里如何找到需要的文件 例如 oldboy.py
find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
find /tmp/ -type f -name “oldboy.py”
#找出/tmp所有以 .txt 结尾的文件 find /tmp/ -type f -name "*.txt" #找到/etc下所有名字以host开头的文件 find /etc -name \'host*\' #找到/opt上一个名为settings.py find /opt -name \'settings.py\'
grep
(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。常用于配置文件的编辑
语法:grep 参数 [–color=auto] [字符串] filename(文件名)
参数:
-i : 忽略大小写
-n : 输出行号
-v : 反向选择
–color=auto 给关键词部分添加颜色(默认存在)
字符串:要查找的内容
示例:
grep ‘HOST’ settings.py 在settings.py文件中查找 ‘HOST’的关键词
常用于查看进程 ps -ef
查看有哪些端口存活 netstat -tunlp
head命令
head显示文件的前几行,默认是前十行
查看前两行
head -2 新建文件.txt
tail命令
tail 显示文件后几行,默认是后十行
查看后两行
tail -2 新建文件.txt
实时刷新显示
tail -f 日志文件.log
显示文件的10-30行
head -30 文件.txt | tail -21 (从iii.txt文件中的前三十行中挑出21行(从第10到30行算上第10行共有21条))
管道命令
命令格式:命令A | 命令B
Linux提供的管道符“|”讲两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
常常和 grep。。 搭配在一起
sed??????????
sed是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。
处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),
接着用sed命令处理缓冲区中的内容,
处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。
Sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。
akw
which命令
which命令用于查找文件。准确的说是查找并显示给定命令的绝对路径
环境变量PATH中保存了查找命令时需要遍历的目录。所以
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。查看环境变量 echo $
也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
语法 which 【参数】【文件】
参数:
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息。
示例:
which pwd
which python
alias 起别名
seq
scp命令
du命令
用于显示目录或文件的大小,du会显示指定的目录或文件所占用的磁盘空间。
du 参数 文件(目录)
参数:
-s 显示总数
-h 以K、M、G为单位,可读性强
示例:
du -sh /tmp/
df命令
df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
语法 df(选项)(参数) -h或--human-readable:以可读性较高的方式来显示信息; -k或--kilobytes:指定区块大小为1024字节; -T或--print-type:显示文件系统的类型; --help:显示帮助; --version:显示版本信息。示例
查看系统磁盘设备,默认是KB为单位: df 使用-h选项以KB以上的单位来显示,可读性高: df -h
top命令
chattr命令(加锁、解锁)
chattr +a 文件 给文件上锁,只能添加数据,无法删除文件
chattr -a 上锁的文件 给上锁的文件解锁,可以删除文件
Linux时间同步
Ntp时间服务器????????
由于我们只需要用作客户端更新时间
ntpdate -u ntp.aliyun.com
wget命令(在中断下载网络文件)
wget 参数 下载地址
wget -r -p http://pythonav.cn/xiaobo.jpg(美女图片)
开关机命令
reboot 重启
poweroff 关机
关于Linux xshe11常用的快捷键