ubuntu知识
windows怎么传文件夹到linux
下载一个7z压缩
①7z先生成 .tar文件
②7z对.tar文件再gzip压缩,生成.tar.gz
③传到服务器,tar zxvf 422021.tar.gz
ftp,sftp,ssh的关系
推荐用sftp传文件,ssh能登陆的地方sftp就可以登陆,注意使用同一个端口
查看系统架构
uname -m
x86还是arm
lsof
lsof(list open files)是一个查看当前系统文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。如传输控制协议 (TCP) 和用户数据报协议 (UDP) 套接字等,系统在后台都为该应用程序分配了一个文件描述符,该文件描述符提供了大量关于这个应用程序本身的信息。
lsof打开的文件可以是:
普通文件
目录
网络文件系统的文件
字符或设备文件
(函数)共享库
管道,命名管道
符号链接
网络文件(例如:NFS file、网络socket,unix域名socket)
还有其它类型的文件,等等
常用命令
~/.bashrc 存各种环境变量,修改之后用source命令刷新
ulimit 限制bash可以使用的资源
read 接受用户输入
env 查看环境变量
export 查看环境变量
set 列出bash内的环境变量
alias 查看命令的别名
which 查看命令路径
whereis 在系统路径中查找文件
locate 在系统数据库中查找文件,可能找到已经删除的文件
updatedb 更新locate使用的db
find ./ -mtime -1 寻找一天内修改的文件,
+1 寻找一天前修改的文件
1 寻找某天修改的文件
-atime 当前时间
-ctime 创建时间
-name passwd
-type s
-perm +7000 具有特殊权限的文件
find ./ -name test.cpp -exec echo "["{}"]" \; # find 之后对结果进行操作
-exec 到 \;之间就是命令,{}代表每一个找到的结果
统计相关
wc 统计行数 字数等
shuf 打乱所有行
查看非文本
hexdump
od
xxd
tail head 截取头尾的行
cut 截取列 逆操作 paste
df | cut -c44-46
tee 向屏幕输出的同时向文件输出
more 分页显示,空格下一页
less 同上,可以pageup pagedown + 搜索 n下一个 N上一个
tr 对文本进行压缩、替换等
bc 计算器
tac 倒序输出
rev 倒序每行
cat -n filename 加行号
cat -A filename 显示不可见字符
cat -s 压缩空行
hostname -I ip地址
hostname -i ip地址组
hostname 本机名
ss -ntl
ss 命令可以用来获取 socket 统计信息
man改中文
sudo apt-get install manpages-zh
sudo cp /etc/manpath.config /etc/.manpath.config.bak
sudo vim /etc/manpath.config
:1,$s#/usr/share/man#/usr/share/man/zh_CN#g
:wq
man exit
man 1 man
man 7 man
man1:用户命令
man2:系统调用
man3:库调用
man4:特殊文件
man5:配置文件服务
man6:游戏
man7:杂项
man8:管理命令
man9:内核参考
man -f + 命令/文件 查看命令/文件在不同man版本中的参数情况
垃圾桶管理工具
避免直接使用rm
sudo apt-get install trash-cli
gvfs-trash
trash-put 上述两个操作好像没啥区别,都是删除文件
restore-trash 恢复文件,直接键入命令,会出现一个选择框
trash
trash-empty 清空垃圾桶
trash-empty 10 删除超过10天的文件
trash-list
ubuntu快捷键
ctrl + A 跳到行首
ctrl + E 跳到行尾
ctrl + K 删除当前到末尾
ctrl + C 清空输入的命令
内存映射
将一组连续的虚拟页映射到任意一个文件中的任意位置,mmap
linux的思想
1.一切皆文件
2.配置数据储存在文本中
3.小型,单一用途的程序
4.避免令人困惑的用户界面
5.链接程序,共同完成复杂的任务
小挑战
Linux from scratch项目
从0编译自己的发行版
体验打包50+软件包的难度
strace
strace pwd 可以得到pwd调用过程中的系统调用
rm误删
sudo apt-get install extundelete
切到需要恢复的目录
ls -id 查看目录的inode编号
sudo extundelete /dev/sda1 --inode 819327
md5sum
获取文件的md5指纹
好用的网站
apt-get搜安装包
sudo apt-cache search pcre
添加man帮助
sudo vim /etc/manpath.config
加一行
MANDATORY_MANPATH /usr/cmatrix/man
wget
如果网站的证书不安全
sudo wget --no-check-certificate https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a.tar.gz
ubuntu 一键安装
sudo apt-get install vim lrzsz openssh-server unzip wget make clisp g++ bison flex
cd /etc/apt
sudo cp sources.list sources.list.bak
sudo vim sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
查看gcc g++ include目录
https://blog.csdn.net/quicmous/article/details/106790319
echo 'main(){}'|gcc -E -v
ln
创建软连接
find
find ./ 可以查看所有文件
压缩文件
tar cvf expected.tar expected
360压缩可以解压 .tar
解压压缩包
注意windows下的zip压缩包到linux压缩包解压缩会出现汉字乱码的问题,需要把名字全部换成英文
解压zip压缩包:unzip -O CP936 文件名
解压rar压缩包:unrar x 文件名
解压rar压缩包需要加 x ,如果不加就不是按照目录解压了,而是将所有文件解压出来放在放在当前目录。
解压zip压缩包中的参数CP936实际上就是GBK编码。
————————————————
版权声明:本文为CSDN博主「hugh.shi」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40229091/article/details/113613566
特殊的文件
/dev/urandom 永不终止的随机buye生成器,head命令取即可
g++ 知识
gcc参数一览表,菜鸟教程
-l -L的区别,指定头文件、库的查找路径
-g 生成GDB需要的符号表
-ldl 使用dl*系列函数时需要加上
-S 生成汇编
-E 生成预编译之后的文件
-O -O2
-c 只编译不链接
-static 静态链接库文件
-Wall 生成所有警告信息
-w 不生成任何警告信息
-D[name] 等效于define name
-DMACRO:定义MACRO宏,等效于再程序中使用#define MACRO
快捷键
home 跳到行首
end 跳到行位
ctrl + c 终止
ctrl + z 终止
ctrl + d = eof
ctrl + 退格 = 退格,直接退格会出现乱码
切目录
cd ~ 家目录
cd / 根目录
cd - 返回前一个目录
pwd 显示当前目录
time
测量程序时间
time ./demo
strace
strace ./demo
strace是一个非常有用的程序,它可以告诉你程序使用了哪些系统调用和这些 系统调用的参数,返回值。
man 帮助手册
有用教程
ubuntu默认是没有安装c语言的库函数man手册的,所以你在man perror和sendto之类的函数时会显示没有相关文档的问题,这个问题让我郁闷了我好久。解决方法:
sudo apt-get install manpages-dev
man rename 查看命令帮助
man printf 查看函数帮助
man
xshell连接不上
sudo apt-get install openssh-server
如果下载不了,就需要换下载源,在软件与更新中自动匹配最佳源即可
Gnu中有用的软件
addr2line 把地址转换为文件名和行号
ar 创建、修改和展开文件存档
as 把汇编语言代码汇编为目标代码
c++filt 还原c++符号的过滤器
gprof 显示程序简档信息的程序
ld 把目标代码文件转换为可执行文件的连接器
nlmconv 把目标代码转换为Netware Loadable Module格式
nm 列出目标文件中的符号
objcopy 复制和翻译目标文件
objdump 显示来自目标文件的消息
ranlib 生成存档文件内容的索引
readelf 按照ELF格式显示来自目标文件的消息
size 列出目标文件或者存档文件的段长度
strings 显示目标文件中的可打印字符串
strip 丢弃符号
windres 编译Microsoft Windows资源文件
VMware安装虚拟机
不要用快速安装,先创建一个空白的再从磁盘导入镜像
WMware的快速安装会卡在install VM tools
内存不足的时候不要调整虚拟机磁盘大小,很容易崩
Xshell
需要安装openssh-server
利用Xshell传输文件
教程
sudo apt-get install lrzsz
rz 上传
sz 下载
ls
ls支持正则表达式,如果有多个文件匹配,直接进入第一个
扩展虚拟机的磁盘容量
内存不够不要扩展,按最佳的来,否则会崩
教程
本文来自博客园,作者:XDU18清欢,转载请注明原文链接:https://www.cnblogs.com/XDU-mzb/p/16050559.html
浙公网安备 33010602011771号