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            删除任务
相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1月前
|
Ubuntu Linux Python
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
在Linux系统中,使用Tkinter库时可能会遇到中文显示乱码的问题,这通常是由于字体支持问题导致的,可以通过更换支持中文的字体来解决。
123 0
Tkinter错误笔记(一):tkinter.Button在linux下出现乱码
|
3月前
|
Linux
Linux源码阅读笔记10-进程NICE案例分析2
Linux源码阅读笔记10-进程NICE案例分析2
|
3月前
|
Linux
Linux源码阅读笔记09-进程NICE案例分析1
Linux源码阅读笔记09-进程NICE案例分析1
|
1月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
83 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
3月前
|
Unix Linux 开发工具
linux笔记 diff及patch的制作与使用
这篇文章是关于Linux系统中使用`diff`命令生成补丁文件以及使用`patch`命令应用这些补丁的详细教程和实战案例。
86 2
linux笔记 diff及patch的制作与使用
|
3月前
|
安全 Linux 开发者
Linux笔记之ldd命令详解
`ldd`命令是Linux环境下一个非常实用的工具,用于显示一个程序运行时所需的共享库依赖。它帮助开发者和系统管理员快速诊断程序运行问题,特别是在处理"找不到库文件"或者"错误的库文件版本"等错误时。然而,出于安全的考虑,对于不信任的可执行文件,应该慎用 `ldd`命令,可以考虑使用其他工具如 `objdump`。总的来说,懂得如何妥善且安全地使用 `ldd`,对于维护一个稳定和高效的Linux系统来说,是非常重要的。
72 9
|
3月前
|
Linux
Linux源码阅读笔记13-进程通信组件中
Linux源码阅读笔记13-进程通信组件中
|
3月前
|
消息中间件 安全 Java
Linux源码阅读笔记13-进程通信组件上
Linux源码阅读笔记13-进程通信组件上
|
3月前
|
存储 缓存 编译器
Linux源码阅读笔记06-RCU机制和内存优化屏障
Linux源码阅读笔记06-RCU机制和内存优化屏障
|
3月前
|
Linux 开发者
Linux源码阅读笔记18-插入模型及删除模块操作
Linux源码阅读笔记18-插入模型及删除模块操作

热门文章

最新文章