查看目录结构命令
ls(list) 功能:显示当前文件夹下未被隐藏的文件或文件夹。
格式:ls[参数][文件或目录]
-a或–all 所有文件和目录。注意隐藏文件、特殊目录、以“.”开头的和以“…”开头的
-l 使用详细格式列表
-t 用文件和目录的更改时间排序
-r 反向排序
–help 在线帮助
常用:
ls -l 列出当前目录下的文件信息(此命令很常用,简化的格式为 ll)
ls -al 列出当前目录下的文件信息(包括隐藏文件,特殊目录)
ll /home/ 显示根目录下home目录下的内容
切换目录命令
cd(change directory)功能:切换目录
语法:cd[目录]
常用:
cd ~
当前用户主目录
cd /
根目录
cd -
上一次访问的目录
cd ..
上一级目录
cd
当前用户主目录
touch 文件 在当前目录创建一个文件
clear:清除屏幕
创建目录命令
pwd:显示当前工作目录
mkdir: 创建目录
mkdir a :当前目录下创建文件夹a
mkdir /root/b :在根目录下的root下创建目录b
mkdir -pv /root/test/a/b :在根目录下的 root 下创建目录结构 test/a/b(创建多级目录直接创建依赖文件夹并描述改动)
-p:依赖目录不存在情况下生成依赖目录
-v:显示改动详细信息
文件操作
复制命令:cp
cp(copy)功能:复制文件或目录
语法:cp[参数] [源文件或目录] [目标文件或目录]
-r 或 --recursive 递归处理,将指定目录下的文件与子目录一并处理
-b 覆盖文件时,可以将源文件做一个备份
例如:
cp 1.py 2.py
复制文件
cp -a 1.py 2.py
复制 1.py 的同时复制 1.py 的权限,文件的话 -a 涵盖 -r 的功能。
cp -b 1.txt 2.txt
:如果覆盖文件时,可以将源文件做一个备份
cp ./1.txt ../
:将当前目录下的1.txt复制到父级目录
cp /root/1.txt /bin/2.txt
:将/root下的1.txt文件复制到根目录下的bin目录下的2.txt中
复制目录:(无论是单层目录还是多层目录都可以复制):
cp -r ./a ./b
递归复制文件夹
cp -r /root/a /root/z
移动命令:mv
mv(move)功能:移动或更名现有的文件或目录
语法:mv [源文件或目录][目标文件或目录]
-f 或 --force 若目标文件或目录与现有的文件目录重复,则直接覆盖现有的文件或目录
剪切文件:mv ./1.txt /root
将当前目录下的1.txt文件 剪切到root目录下
重命名文件:mv ./1.txt ./2.txt
将当前目录下的1.txt文件重命名为2.txt
删除命令:rm
rm功能:删除文件或目录
语法:rm [-dfirv][--help][--version][文件或目录...]
-f 或 --force 强制删除文件或目录
-r 或 -R 或 --recursive 递归处理,将指定目录下的所有文件及子目录一并处理
-v 描述改动内容
rm -f ./1.txt :强制删除文件,不存在的话不报错
rm -rf ./a : 强制删除目录
查找命令:find
find功能:特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件
语法:find[目录...][参数]
-name 指定字符串作为寻找文件或目录的范本样式
例如:
find ./ -name test.sh
:查找当前目录下所有名为test.sh的文件。
find ./ -name '*.sh'
:查找当前目录下所有后缀为.sh的文件。
find ./ -name "[A-Z]*"
:查找当前目录下所有以大写字母开头的文件。
find /tmp -size +2M
:查找在/tmp 目录下大于2M的文件。
find ./ -size +4k -size -5M
:查找当前目录下大于4k,小于5M的文件。
find ./ -perm 777
:查找当前目录下权限为 777 的文件或目录。
重定向:符号">",">>"
ls -alh > xxx.txt
:把即将显示到屏幕的内容保存到xxx.txt(覆盖原有数据)。
ls -alh >> xxx.txt
:把即将显示到屏幕的内容保存到xxx.txt(以追加的方式)。
文件浏览
[注]:按tab键可以自动补齐文件名,连续两次 tab 提示可输入内容。
cat 文件名
:显示指定文件的所有内容(用于文件内容少的情况)
more 文件名
:分页显示文件内容,还支持直接跳转行等功能(用于文件内容多的情况)
Enter :向下n行,需要定义。默认为1行
空格键:向下滚动一屏 或 F
B 返回上一屏 或 B
q 退出more
less [参数]
文件名 :分页显示文件内容,操作更详细
参数:-m 显示类似more命令的百分比 -N 显示每行的行号 两个参数可以结合用 -mN
空格键:前进一页 或 page down
b:后退一页 或 page up
d:前进半页
u:后退半页
Enter:前进一行 或 方向键向下
y:后退一行 或 方向键向上
/字符串:向下搜索
?字符串:向上搜索
v:进入vim编辑器
tail命令:用来显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
tail[必要参数][选择参数][文件]
-n<行数> 显示行数
-f 循环读取
文档编辑
命令行模式
此模式下,可使用方向键(上、下、左、右键)或 k、j、h、i 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。
插入模式
Vim 可以对文件执行写操作
末行模式
用于对文件中的指定内容执行保存、查找或替换等操作。
vim命令
基本操作
1.vim 文件名 :进入命令行模式(不能输入)
2.按下 i 从命令行般模式,进入到插入模式
3.按下 esc 从插入模式,退出到命令行模式
4.在一般模式下,输入:wq,退出编辑。
插入模式:
yy 复制光标所在行
p 粘贴
dd 删除/剪切当前行
u 撤销
G 回到最后一行
gg 回到第一行
数字+G 回到指定行
末行模式:
:w 保存
:wq 保存退出
:x 保存退出
:q! 强制退出
:/搜索的内容 搜索指定内容
::%s/要替换的内容/替换后的内容/g 全局替换
:开始行数,结束行数s/要替换的内容/替换后的内容 局部替换
管道
linux提供管道符号 “|” 作用是“命令1”的输出内容,将作为“命令2”的输入内容。一般与grep命令一起使用
格式:命令1 | 命令2
grep命令
功能:用于过滤/搜索特定字符。可使用正则表达式,能多种命令配合使用,在文件内查找
格式:grep [option] pattern [file]
grep 参数 过滤条件 文件
例如:grep “xxxx” xxx.txt :grep 查找内容 查找目标,显示所有含有"xxxx"的。
grep “xxxx” xxx.txt -n :显示查找目标的行数。
grep “xxxx” xxx.txt -v :显示出,除含有"xxxx"以外的所有目标内容。
grep “^xxxx” xxx.txt :显示以"xxxx"开头的所有目标内容。
grep “xxx$” xxx.txt :显示以"xxxx"结尾的所有目标内容。
格式:其他命令 | grep 参数 过滤条件
例如:ls . | grep -i one
在 ls 命令输出结果基础上,进行过滤
查看文件
cat filename
:只能查看不可以编辑文件里面的内容,所以后面一定加的是文件名不是文件夹的名。
more filename
:同样也是查看文件内容,但是前者是一下显示到底,后者是分屏慢慢显示,可控制的慢慢查看。press “q” exit。
备份压缩:tar命令
tar功能:文件备份压缩
格式:tar 参数 压缩后的文件名 被压缩的文件名
参数必须是 -f 在最后
tar 参数 被解压的文件名 [-C 指定目录 ]
(如果省略 -C 指定目录,则解压到当前文件夹)
-c 新建打包文件,同 -v 一起使用 查看过程中打包文件名
-x 解决文件, -C 解压到对应的文件目录。
-f 后面接要处理的文件
-j 通过 bzip2 方式压缩或解压,最后以.tar.br2 为后缀。压缩后大小小于.tar.gz
-z 通过 gzip 方式压缩或解压,最后以.tar.gz 为后缀
-v 压缩或解压过程中,显示出来过程
-t 查看打包文件中内容,重点文件名
-u 更新压缩文件中的内容。
-p 保留绝对路径,即允许备份数据中含有根目录
-P 保留数据原来权限及属性。
man tar
查看更多参数
例如:
tar -jcv -f 压缩文件名称.tar.br2 压缩方式一
tar -jxv -f 压缩文件名称.tar.br2 -C 指定文件目录 解压文件方式一
tar -zcv -f 压缩文件名称.tar.gz 压缩方式二
tar -zxv -f 压缩文件名称.tar.gz 解压文件方式二
tar -tf 压缩文件名 查看文件名
tar -tvf 压缩文件 查看文件:所属权限、用户名用户组、日期等
系统命令
ps命令
任务管理器:ps -ef 查看当前所有进程(包括执行ps命令的那个时刻进程信息)
格式:ps [参数]
-e 此参数的效果和指定“A”参数相同,显示所有程序
-f 显示UID,PPIP,C与STIME栏位
例如:ps -ef | grep -i python 过滤出 python 这个进程
kill命令
kill功能:删除执行中的程序或工作
语法:kill[参数][程序]
-l<信息编号> 若不加<信息编号>选项,则-l参数会列出全部的信息名称。
kill [pid]
:杀死正在运行的程序,kill + 程序对应的pid。
kill -9 [pid]
:强制终止程序,在上条行不通时操作这条。“-9”表示强制。
格式:kill -9 pid
可先通过ps -ef 查找出所要删除的进程 pid,再通过kill -9 pid 终止进程
查看或配置网卡信息
ifconfig
:只敲ifconfig,显示所有网卡的信息。
ifconfig [网卡名] [new ip add]
:修改网卡ip地址。
ping [ip add]/[域名]
功能:测试网络连通性。
检测磁盘空间
df -h
:检测文件系统的磁盘空间占用和空余情况,也就是所有磁盘。“-h”表示选择合适的单位(M/G/K)。
du
:用于统计目录或文件所占磁盘空间的大小,当前目录下或者可以选择目录。
用户,权限管理
whoami
:显示当前用户。
who
:查看当前所有登录系统的用户信息。
exit
:如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户,退出则返回上一个登陆账号。
useradd [username] -m
:创建新用户,“-m”自动在/home文件夹下生成[username]的家目录。
cat /etc/passwd
:验证用户是否创建成功,标志:最后一行显示new user的信息即为创建成功。
cat /etc/group
:验证组是否创建成功,标志:最后一行显示new group的信息即为创建成功。
sudo passwd [username]
:设置该用户的密码
sudo passwd [uesrname]
:更改该用户密码
sudo userdel [username]
:删除用户, 相关文件需要手动删除
sudo userdel -r [username]
:删除用户和相关的文件 一般用这个
ssh [username]@[ipadd]
:远程登录到linux系统
windows上要想连接需要下载xshell,或者下载 ssh for window
su [username]
:切换到该用户,但不切换路径。
su - [username]
:切换到该用户,并且切换到该用户的家文件夹。
su -s
:直接切换到超级管理员权限,不需要知道username。
groupadd/groupdel
:删除/添加 组
链接
ln -s 对象名 目标名
:对目标建立软连接,删除对象,则连接失效。
ln 对象名 目标名
:对目标建立硬连接,删除对象,连接仍有效。
文件权限:chmod命令
chmod功能:变更文件或目录的权限
语法:chmod [参数][<权限范围><符号><权限代号>]
-R 或 --recursive 递归处理,将指定目录下的所有文件及子目录一并处理
–权限范围的表示法如下:
u:User 即文件或目录的拥有者
g:Group 即文件或目录的所属群组
o:Other 除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围
a:All 即全部的用户,包含拥有者,所属群组及其他用户。
符号
-
添加权限 +
-
取消权限 -
– 有关权限代号的部分
r:读取权限,数字代号为“4”,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w:写入权限,数字代号为“2”,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x:执行或切换权限,数字代号为“1”,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。
- :不具任何权限,数字代号为“0”
777 :所有权限
字母法 和 数字法
chmod u-rwx xxx 取消xxx目录的用户“读写执行”权限
chmod o+w xxx 添加xxx目录的其他用户“写”权限
chmod 777 xxx 给xxx目录添加所有权限
Linux 文件权限格式:<类型><用户><组><其他用户>
时间
cal :显示当前日期。
cal 2018 :显示全年日历。/ cal -y 显示当年日历。
date :显示当前时间。