Linux/mac 相关知识

严格来讲Linux 不算是一个操作系统,只是一个 Linux 系统中的内核,即计算机软件与硬件通讯之间的平台。

一些组织或厂家将 Linux 内核与GNU软件(系统软件和工具)整合起来,并提供一些安装界面和系统设定与管理工具,这样就构成了一个发型套件,例如 Ubuntu、Red Hat、Centos、Fedora、SUSE、Debian、FreeBSD 等。

Linux的特点

开放性:系统遵循标准规范,特别是遵循开放系统互连(OSI)国际标准。

多用户、多任务:多用户是指系统资源可以被不同的用户各自使用,每个用户可以对自己系统的资源有独立的权限,相互并不影响。多任务是指操作系统可以在同一时间运行多个程序,并且各个程序之间互不干扰、独立的运行。

良好的用户界面:Linux向用户提供了两种界面:用户界面和系统调用。Linux还为用户提供了图形用户界面。它利用鼠标、菜单、窗口、滚劢条等设施,给用户呈现一个直观、易操作、交互性强的友好的图形化界面。

设备独立性:操作系统把所有外部设备统一当作成文件来看待,只要安装驱劢程序,任何用户都可以像使用文件一样,操纵、使用这些设备。Linux是具有设备独立性的操作系统,内核具有高度适应能力。

可移植性强:所谓移植是指从一个平台跨到另一个平台的能力。而Linux是一种可移植性很强的操作系统,该系统从一个平台转移到其他平台上时仍然可以稳定运行而无需对系统做任何修改,也就是说无论是掌上电脑、个人计算机、小型机还是中型机,甚至是大型机,都可以运行该系统。

高安全性:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

高稳定性:Linux 内核的源代码是以标准规范的32 位(在64 位CPU上是64 位)的计算机来做的最佳化设计,可确保其系统的稳定性。正因为Linux 的稳定,才使得一些安装 Linux 的主机像Unix 机一样常年不关而不曾宕机。

丰富的网络功能:完善的内置网络是Linux一大特点。Linux在通信和网络功能方面优越于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。

良好的可移植性:将操作系统从一个平台转移到另一个平台使它仍然能挄其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。

文件目录

linux

  • /bin 是 Binaries (二进制文件) 缩写,传统unix命令的存放目录如 ls、rm、mv等。

  • /dev 设备文件存放目录。

  • /boot 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。

  • /etc 配置文件存放目录,如用户密码文件/etc/passwd,此目录实际为指向/private/etc的链接。

  • /home 用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。

  • /sbin 包含超级用户(root)可执行文件,如fdisk,ifconfig等等。

  • /usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。

    /usr/lib 目录中存放了共享库动态链接库。

    /usr/bin 系统用户使用的应用程序。

    /usr/sbin 超级用户使用的比较高级的管理程序和系统守护程序。

    /usr/src :内核源代码默认的放置目录

  • /tmp 临时文件存放目录,其权限为所有人任意读写。此目录实际为指向/private/tmp的链接。

  • /var 存放经常变化的文件,如日志文件。此目录实际为指向/private/var的链接。

  • /opt 正常这个文件夹是用来放安装包的,例如 homebrew

Mac

  • /Applications 应用程序目录,默认所有的GUI应用程序都安装在这里,比如微信、QQ等。

  • /Library 系统的数据文件、帮助文件、文档等。

  • /Network 网络节点存放目录。

  • /System 包含大多数系统配置和操作系统文件。

  • /Users 存放用户的个人资料和配置,每个用户有自己的单独目录。

  • /Volumes 文件系统挂载点存放目录。

  • /cores 内核转储文件存放目录,当一个进程崩溃时,如果系统允许则会产生转储文件。

  • /private 里面的子目录存放了/tmp, /var, /etc等链接目录的目标目录。

文件权限

操作文件或目录的用户,有3种不同类型:文件所有者、群组用户、其他用户。最高位表示文件所有者的权限值,中间位表示群组用户的权限值,最低位则表示其他用户的权限值。

权限 权限数值 二进制 介绍
r 4 00000100 read,读取。当前用户可以读取文件内容,当前用户可以浏览目录。
w 2 00000010 write,写入。当前用户可以新增或修改文件内容,当前用户可以删除、移动目录或目录内文件。
x 1 00000001 execute,执行。当前用户可以执行文件,当前用户可以进入目录。

那么所有的权限就是如下

# 权限 rwx 二进制
7 读 + 写 + 执行 rwx 111
6 读 + 写 rw- 110
5 读 + 执行 r-x 101
4 只读 r– 100
3 写 + 执行 -wx 011
2 只写 -w- 010
1 只执行 –x 001
0 000
chmod 777 demo.txt
chmod -R 777 demo // -R表示为所有 demo目录下的文件夹和文件
sudo chmod -R 777 demo // 如果是 ubuntu,需要加sudo

ssh

SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露,ssh只是一种协议,有很多开源实现,比如openssh,mac内置ssh。

ssh -p 2222 user@host 

ssh-keygen

为ssh生成、管理和转换认证密钥,ssh-keygen命令 用于为“ssh”生成、管理和转换认证密钥,它支持RSA和DSA两种认证密钥。 SSH 密钥默认保留在 ~/.ssh 目录中,如果没有此目录,ssh-keygen命令会使用正确的权限创建一个。

-b:指定密钥长度;

-e:读取openssh的私钥或者公钥文件;

-C:添加注释;

-f:指定用来保存密钥的文件名;

-i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥;

-l:显示公钥文件的指纹数据;

-N:提供一个新密语;

-P:提供(旧)密语;

-q:静默模式;

-t:指定要创建的密钥类型。

ssh-keygen -t rsa -C '[email protected]' -f ~/.ssh/github_id_rsa

文件传输

scp命令,也就是secure copy,可以跨机器复制文件与目录,基于 SSH

scp local_file remote_username@remote_ip:remote_file 

文件传输协议

FTP协议(File Transfer Protocol,就是文件传输协议),是基于TCP协议来传输文件,明文传输用户信息和数据,默认端口21。

SFTP(Secure File Transfer Protocol,就是安全文件传输协议),默认端口22。
SFTP协议能够进行“远程文件获取,文件内容传输,文件管理”等操作,它的控制信号和数据信号的传输通过安全数据通道进行。一般情况下,这个安全数据通道由SSH连接提供,即SSH连接隧道作为安全数据通道。
跟只能进行简单文件内容传输的SCP协议相比,SFTP协议更像是一个远程文件系统协议。
SFTP协议分为两个端,分别是SFTP Client和SFTP Server。SFTP Client和SFTP Server之间的控制信号和文件内容的传输得通过安全数据通道进行,安全数据通道可由“Transport Layer Security(TLS)”,“SSH”等协议提供,一般情况下是由SSH协议提供。
一旦SFTP Client和SFTP Server之间的连接得以建立,就可以通过二者之间的控制信号和文件内容的传输实现远程文件系统的功能。
GUI工具,windows有filezilla,macos有cyberduck(小黄鸭)。

常用命令

// 查找文件
find /opt -name "nginx.conf"

// 显示所有进程
ps -A

// 杀死进程
kill 12345

// 带行号显示文件内容
cat -n demo.txt

// 显示前2行
head -n 2 keyboard.txt 

// 显示后2行
tail -n 2 keyboard.txt 

// 寻找程序位置
which nginx

// 3dd 删除3行
vim data.txt 

// 打包文件
tar -czvf demo.tar.gz ./demos

参考资料

https://blog.csdn.net/words8/article/details/113066602

猜你喜欢

转载自blog.csdn.net/qq_29334605/article/details/122836373