linux学习笔记
一些命令
which
:查找命令的程序文件所在的位置
eg:which ls
find
:搜索指定的文件
语法1: find 起始路径 -name "文件名"
eg:find / -name "test"
语法2:find 起始路径 -size (+/-)n[kMG]
+
、-
表示大于和小于n
表示大小数字kMG
表示大小单位kb,MB,GB
eg:find / -size +100M
su root
:获得管理员权限
sudo -i
也可以
-
ls -lh
:列出文件并显示文件大小 -
grep
:从文件中通过关键字过滤文件行
语法:grep [-n] "关键字" 文件路径
-n
可选参数,表示在匹配结果中显示行号关键字
,必填,如果有空格,建议用双引号括起来文件路径
,必填,表示要过滤的文件路径,可作为内容输入端口
eg:grep -n "die" 1.txt
wc
:统计文件的行数,单词数等
语法:wc [-c -m -l - w] 文件路径
-c
统计bytes数量-m
统计字符数量-l
统计行数-w
统计单词数量文件路径
被统计的文件,可作为内容输入端口
|
:管道符,左边的结果作为右边的内容源
eg:cat 1.txt | grep "die"
ls | grep "txt"
find ~ -size +1000M | grep "tar"
- 重定向符
>
,将左侧命令的结果,覆盖写入到符号右侧文件中>>
,将左侧命令的结果,追加到符号右侧文件中
eg:find ~ -size +1000M | grep "tar" > 2.txt
tail
:查看文件尾部内容,并可以持续追踪
- 语法:
tail [-f -num] 路径
-f
:持续追踪-num
:查看尾部多少行,默认10路径
:被查看的文件
chmod
:修改文件权限
r–4 w–2 x–1
chmod u=rwx,g=rx,o=x 1.txt
等价于:chmod 751 1.txt
chmod -R 751 文件
:-R
参数是把文件目录下所有文件的权限都修改
chown
:修改文件的所属用户和用户组
必须是root权限才能执行
语法:chown [-R] [用户][:][用户组] 文件或文件夹
-R
同chmod
用户
修改所属用户用户组
修改所属用户组:
用于分隔用户和用户组
扩展
history
:查看历史输入过的命令
!
命令前缀,自动匹配历史上一次匹配前缀的命令
!
+ 数字
执行相关命令
ctrl
+ r
会根据输入的内容去匹配历史命令
- 光标快速移动
ctrl
+ a
跳命令开头
ctrl
+ e
跳命令结尾
ctrl
+ <-
左跳一个单词
ctrl
+ ->
右跳一个单词
- 清屏
ctrl
+ l
clear
命令
- 软件安装(需要root)
centos: yum
安装包后缀 -> .rpm
ubuntu: apt
安装包后缀 -> .deb
语法: apt [-y] [install | remove | search] 软件名称
apt install vim
,安装vimapt remove vim
,移出vimapt search vim
,搜索vim
systemctl
命令:控制软件的启动、停止、开机自启,能被该命令控制的程序,一般也称之为服务
语法: systemctl [start|stop|status|enable|disable] 服务名
start
启动stop
关闭status
查看状态enable
开启开机自启disable
关闭开机自启
一些内置服务如:
- NetworkManager 主网络服务
- network 副网络服务
- firewalld 防火墙服务
- sshd,ssh 服务
systemctl status ssh
ubuntu的防火墙服务是ufw
,centos是firewalld
- 软链接:把文件或文件夹链接到其他地方,类似于快捷方式
用法:ln -s 参数1 参数2
-s
创建软链接参数1
被链接的文件或文件夹参数2
要链接去的目的地
date
:查看系统时间
语法:date [-d] [+格式化字符串]
自定义格式,具体方法自行百度
- 修改时区
rm -f /etc/localtime
ln /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ping
:检查指定网络服务器是否是可联通状态
语法:ping [-c num] ip或主机名
-c
,检查的次数,不用-c
将无限ping
wget
:非交互式文件下载器,可以在命令行内下载网络文件
语法:weget [-b] url
-b
,后台下载,日志会存在wget-log
文件中url
,下载链接
curl
:可以发送http请求,可用于下载文件,获取信息
curl cip.cc
:向cip.cc发起请求,获得公网ipcurl [-O] url
:带-O
下载是用于下载
- 端口
nmap ip
:查看指定ip的对外暴露的端口
netstat -anp | grep 端口号
:查看本机指定端口号的占用情况
- 进程管理
ps
语法:ps [-e -f]
-e
显示出全部进程-f
以格式化的形式展示信息- 一般直接
ps -ef
配合管道符过滤
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Jun18 ? 00:00:33 /lib/systemd/systemd
root 2 0 0 Jun18 ? 00:00:00 [kthreadd]
root 3 2 0 Jun18 ? 00:00:00 [rcu_gp]
root 4 2 0 Jun18 ? 00:00:00 [rcu_par_gp]
UID
: 进程所属的用户IDPID
: 进程的进程IDPPID
: 进程的父ID(此进程的其他进程)C
: 此进程的CPU占用比率(百分比)STIME
: 进程的启动时间TTY
: 启动此进程的终端序号,如果是?
,表示非终端启动TIME
: 进程占用的CPU时间CMD
: 进程对应的名称或启动路径或启动命令
- 关闭进程
kill
语法:kill [-9] 进程ID
-9
表示强制关闭进程。不使用会向进程发送信号要求关闭,但是否关闭取决于进程自身
-
磁盘信息
df
df [-h]
:-h
参数单位格式化 -
环境变量
env
$
可以取出环境变量echo $变量名
- 临时设置,语法:
export 变量名=值
- 永久设置
- 针对当前用户,配置在当前用户的
~/.bashrc
文件中 - 针对所有用户,配置在系统的
/etc/profile
文件中 - 配置完成后用
source 配置文件
的形式,进行立刻生效
- 针对当前用户,配置在当前用户的
自定义文件最后添加内容形如export PATH=$PATH:~/workspace
tar
压缩和解压缩操作
有两种压缩文件格式分别是
.tar
,称为tarball,简单组装,没有太多的文件体积减少.gz
,也常见为.tar.gz
,是gzip格式压缩文件,可极大减少压缩后的体积
命令:tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数N
-c
,创建压缩文件,用于压缩模式-v
,显示压缩,解压的过程-x
,解压模式-f
,要创建的文件,或要解压的文件,-f
选项必须在所有选项中位置处于最后一个-z
,gzip
模式,不使用-z
就是普通的tarball
格式-C
,选择解压的目的地,用于解压模式
tar压缩的常见组合为:
tar -cvf test.tar 1.txt 2.txt
: 把1.txt,2.txt压缩到test.tar文件中tar -zcvf test.tar.gz 1.txt 2.txt
注意如果使用-z
,一般处于第一个位置,如果使用-f
,必须处于最后一个位置
tar解压的常见组合为:
tar -xvf test.tar
: 解压test.tar,将文件解压至当前目录tar -xvf test.tar -C 路径
:解压到指定路径tar -zxvf test.tar.gz -C 路径
:以gzip模式解压
zip
命令
用法:zip [-r] 参数...
-r
,压缩文件夹使用
unzip
命令
用法:unzip [-d] 参数
-d
,指定解压去的目录