Linux笔记部分总结

简介: Linux笔记部分总结

三、Linux总结(省流版)

命令格式

命令 选项 参数
rm -rf /*

快捷

查看命令帮助
man ls
man cat 
man grep

快速补全文件名和目录
vim cri
然后按tab键

Ctrl Insert        复制
Shift Insert    粘贴
Alt Insert        复制粘贴

快速清除命令
Ctrl A Ctrl K,顺序执行

历史命令搜索
Ctrl R


查看历史命令
history

清除历史命令
history -c

1. 文件

创建目录
-m 配种文件权限
-p 创建递归


mkdir test
mkdir -p /1/2/3         创建多层文件夹
mkdir -m 711 test1        创建权限为711的test1文件夹
ls -l                    检查权限

touch 1.txt                创建文件
touch {0..10}.txt        创建11个文件

rm 移除文件目录
rm [-fir] 文件或目录

-f 强制删除
-i 询问是否删
-r 递归删


rm -i test.txt        删除文件
rm -rf /root/test    删除文件夹

复制文件、目录
-f 强制复制
-i 覆盖前询问
-p 复制文件和文件属性(备份)
-r 递归复制



cp old.txt /test
cp -r /oldtest /newtest        把oldtest文件全部复制到new
cp -f old.txt /test            强制复制
cp -v 1.txt /test            显示复制过程
mv移动文件,修改名称
-f 强制
-i 询问
-u 更新文件

mv 1.txt test2
mv test test1    把test文件夹改名为test1
mv 1.txt 2.txt    改名
mv /test1/1.txt /test2/1.txt

查看当前文件名、目录名
ls

查看根目录文件
ls /

查看所有文件(包括隐藏文件)
ls -a

查看文件详细信息
ls -l
ll

查看所有文件详细信息
ls -al
ll -a

打印当前目录
pwd

.        当前目录
../        上一级目录
../../    上上一级目录

查看帮助
man ls

切换工作路经
cd /user/local
cd ..
cd ../..

查看文件类型
file -i test    看目录
file -i test.txt






查找文件
find /etc -name a*        找a开头的文件名
find /etc -name "aaa"    找名字是aaa的文件
find /root -type f        找root目录下普通文件
find /root -type d        找root目录下目录
find /root -type f -size 10M+    找root下大于10M的普通文件

whereis            找二进制程序
which            查找并显示目录绝对路经



关机重启
poweroff
reboot




挂载mount 
mount /dev/sdb1 /sdb-u        把/dev/sdb1挂载到、sdb-u

链接
ln 1.php lianjie.php        把1.php创建连接
cat 从第一行开始显示内容

-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

cat /etc/issue


tac 从最后一行开始显示
tac /etc/issue



nl 显示行号
nl /etc/issue




more 一页一页翻动
more /etc/man_db.config
空格(下一页)
回车(下一行)
:f(立刻显示文件名和行数)
q(离开)




less 一页一页翻(包含more所有功能)
less /etc/man.config
less redis.conf


head 取文件前几行
head /etc/man.config    默认10行
head -n 20 /etc/man.config    取20行




tail 取文件后几行
tail /etc/man.config    默认10行
tail -n 20 /etc/man.config    取20行


管道grep
ps -ef | less -N    将系统进程按页显示
netstat -an|grep 3306    查看系统端口号是否启动
netstat -an    查看所有端口号
cat -n info.log        查看文件内容
grep "debug"        搜索debug的内容
more            显示




管道pipe
把前一个输出当做后一个输入

cat test.log        查看文件内容
more -5                显示五行
cat test.log | more -5    查看文件前五行




统计行数字数 wc

wc -l 2.txt    统计行数
wc -w 2.txt    统计字数

ls -l        一行显示一个文件
wc -l        统计行数
ls -l | wc -l    统计目录下所有文件夹个数


diff 对比文件差异
diff a.txt b.txt    对比两个文件内容差异
diff -r /boot /gaof    比较两个目录差异

根目录文件

bin        普通用户指令
boot    开机目录
dev        设备目录(磁盘硬件)
etc        配置文件
lib        库文件(bin、sbin)
media    可移除设备挂载目录(U盘)
mnt        临时挂载
opt        三方软件安装目录
proc    虚拟文件系统
root    管理员主目录
run        系统运行需要文件
sbin    root权限运行指令
srv        服务启动后数据目录
sys        虚拟文件系统(核心硬件信息)
tmp        临时文件
usr        应用程序
var        系统执行中常改变的文件

ls /bin        查看

2. 通配符

*        任意字符
?        单个字符
[0-9]
{*.log,*.txt}
^        取反
[^txt]*        查找不是TXT结尾
ls v*        查看v结尾文件
ls *v        查看v开头文件
ls a[0-3].txt                查看a0,a1,a2,a3的文件
ls aa[a-z].txt            查找aa开头,后缀.txt的文件
ll {*.log,*.txt}        查找.log结尾和.txt结尾的文件

3. 文本编辑

man vim    查看如何使用命令
vim /etc/vimrc    查看全局配置文件


命令模式(刚进去,编辑前)
set nu    显示行号 
:15        跳转到15行
n10            光标向后10字符
Shift G        到文档末

/test        向后查找test
?test        向前查找test
n            下一个关键字
N            上一个关键字

yy            复制这一行
dd            删除一行
ndd            删除下n行
u            撤销最近操作
Ctrl R         恢复最近操作



编辑模式
i            进入
Ctrl U         撤销


底行模式
:wq            保存退出
:q!            强制退出
:e!            重新修改
:set nu        显示行号

4. 软件安装

rpm

查询
rpm -qa            查询全部
rpm -q test        查询test包

安装
rpm -ivh test    

升级
rpm -Uvh test

卸载
rpm -e test






yum
-h                显示帮助
-y                对所有选择都yes
-c                指定配置文件
-q                安静模式
-v                详细模式

列表
yum list        看全部列表
yum list test    看包名

搜索
yum search test

安装
yum install test

升级
yum update test

卸载
yum remove test

更新所有软件
yum update

清除缓存
yum clean all

更新yum缓存
yum make cache


wget 下载网址

5. 用户

group 用户组
查看全部组
cat /etc/group

查看用户所属组
groups

添加用户组
groupadd jack

删除用户组
groupdel jack






user 用户
查看用户ID
cat /etc/passwd

添加用户jack到test组
useradd -g test jack
添加jack到A组,另外加入B和C组
useradd -g A jack -G B,C


修改密码
-d        删除密码 
-f        强制执行 
-l        锁住密码 
-s        列出密码相关信息
-u        解开上锁的账号
passwd Jack

删除用户
userdel -r jack

切换用户
su jack

修改用户信息(将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。)
usermod -s /bin/ksh -d /home/z –g developer sam




 cat /etc/group            查看组
 cat /etc/passwd        查看密码

 cat /etc/sudoers        查看内容
 在编辑器中添加
 jack ALL=(ALL)ALL        把root所有权限给jack
 sudo reboot            授权后重启
 sudo -l                查看可执行命令

 给jack用户root中的添加用户权限
 jack ALL=(ALL)NOPASSWD:/bin/useradd 




id            查看账号身份
finger        查看账号登录属性
w            查看主机用户登录情况
who
whoami

6. 变量

查看全部变量
env

查看单个变量
echo $xxx

用户变量
~/.bashrc

系统变量
/etc/profile

7. shell工具

查看shell目录
echo $SHELL

查看内容
cat /etc/shells

查看可切换shell
chsh -l

切换shell为/bin/csh
chsh -s /bin/csh

8. 权限

切换root
su

drwxrwxr-x. 2 jack A 6 Jul
775权限
文件    所属用户  所属组别    其他用户
d        rwx        rwx        r-x

d        代表目录文件
rwx      代表marry对目录文件可读可写可执行
rwx      代表security组对目录文件可读可写可执行
r-x      代表其他用户对目录可读可执行


drwxrwxr-x. 2 marry security 6 Jul

rwx    4+2+1=7
rwx    4+2+1=7
r-x    4+0+1=5

文件权限描述775







修改权限

添加用户写权限
chmod g+w test.log

删除其他用户一切权限
chmod o=test.log

取消所有用户写权限
chmod a-w test.log

当前用户一切权限,组用户读写权限,其他用户读权限
chmod u=rwx,g=rw,o=r test.log

9. 文件描述&重定向

0     标准输入
1    标准输出
2    标准错误输出

>    输出重定向(覆盖)
>>    输出重定向(追加)

&>    将一个流重定向到另一个文件描述

<    输入重定向
<<    输入重定向

输出重定向

标准输出重定向
ls / >test.txt
ls / 1>test.txt
ls / 1>>test.txt

标准错误输出重定向
find / -name "aaa" 2>err.txt
find / -name "aaa" 2>/dev/null
find / -name "aaa" 2>>err.txt

输出和错误重定向
find / -name "aaa" >test.txt>&1

输入重定向

10. 文件压缩

cvf打包

xvf解包

-z    gz压缩算法

-j    bz2压缩算法


-c    创建打包文件
-v    显示打包详细信息
-f    指定打包后的文件名为tets.tar

打包不压缩
tar -cvf test.tar *.txt  打包文件 
tar -xvf test.tar    解压

打包压缩gz
tar -czvf test.tar.gz *.txt    打包压缩
tar -xzvf test.tar.gz    解压

打包解压bz2
tar -jcvf test.tar.bz2 *.txt    压缩 
tar -jxvf test.tar.bz2

zip压缩
zip test.zip *.txt
unzip test.zip

11. 网络

查看主机和IP
less /etc/hosts

查看网络
ifconfig

查看网络连接(端口号)
netstat -a
netstat -ap | grep ssh        程序网络情况
netstat -ap |grep 3306        端口网络情况


wget 直接下载
wget https://qqweqweqw.tar.gz
wget -c        断点续传
wget -b        后台下载
wget -i 1.txt    同时下载多个
tail -f wget-log 查看下载进度


防火墙
启动防火墙
systemctl start firewalld

查看启动端口
firewall-cmd --list-port

永久开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload        重启显示

systemctl stop firewalld.service    关闭防火墙

12. 系统

查看系统日期
date                            日期
cal                                日历
cal -y                            全年日历
uptime                            启动时间
w                                资源占用

查看系统版本
cat /etc/redhat-release            发行版本
uname -a                        内核版本
cat /proc/version                Linux版本


查看mysql服务
systemctl list-unit-files | grep mysql


运行startup程序
./startup.sh

后台执行
nohup ./start.sh &

查看进程
top

ps 进程
-a        显示所有进程
-u        选择用户
-x        显示没有控制终端的进程
-e        显示所有进程
-f        显示详细

ps -ef        显示所有进程详细信息
ps -aux
pstree        进程树
pstree -p   添加进程号
pstree root    展示用户进程关系
PStree -p |grep ssh        只看ssh进程
kill -9 3306            结束进程
free                    内存使用情况


磁盘使用情况
du /usr                查看使用情况
du -h /usr            可视化
du -h /usr --max-depth=1        查看目录下文件
du -h /usr/share --max-depth=1 | sort -hr  排序
du -h /usr/share --max-depth=1 | sort -hr |head -n 3    查看最大的三个文件



cat /etc/crontab        查看系统支持定时
crontab -u root test.cron    添加文件到定时任务
cron -u root -l                查看任务
crontab -u root -e            编辑任务
crontab -u root -r            删除任务
目录
相关文章
|
20天前
|
Linux
Linux(5)WIFI/BT调试笔记
Linux(5)WIFI/BT调试笔记
36 0
|
21天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
2月前
|
人工智能 安全 Unix
Linux常用命令笔记大全(建议收藏!!)
Linux常用命令笔记大全(建议收藏!!)
74 0
|
22天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
2月前
|
算法 Linux
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法
|
2天前
|
NoSQL Java Linux
linux笔记
linux笔记
8 0
|
7天前
|
存储 运维 Java
Linux笔记02 —— Shell补充
Linux笔记02 —— Shell补充
31 2
|
7天前
|
安全 Linux Shell
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
Linux笔记01 —— Linux初识与Shell汇总(请配合另一篇《Linux笔记02》一起使用)
19 1
|
7天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
15天前
|
编解码 Linux
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx
在《FFmpeg开发实战》一书中,介绍了如何在Linux环境下为FFmpeg集成libopus和libvpx,以支持WebM格式的Opus和VP8/VP9编码。首先,下载并安装libopus。接着,下载并安装libvpx。最后,在FFmpeg源码目录下,重新配置FFmpeg,启用libopus和libvpx,编译并安装。通过`ffmpeg -version`检查版本信息,确认libopus和libvpx已启用。
FFmpeg开发笔记(十二)Linux环境给FFmpeg集成libopus和libvpx