Linux 初步
1. Linux 主要目录
/:根目录,一般根目录下只存放目录,在 linux 下有且只有一个根目录,所有的东西都是从这里开始
/bin、/usr/bin:可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等
/boot:放置 linux 系统启动时用到的一些文件,如 linux 的内核文件:/boot/vmlinuz,系统引导管理器
/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件
/home:系统默认的用户家目录
/lib、/usr/lib、/usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助
/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下
/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载
/opt:给主机额外安装软件所摆放的目录
/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的文件
/root:系统管理员root的家目录
/sbin、/usr/sbin、/usr/local/sbin:放置系统管理员使用的可执行命令
/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下
/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内
/usr:应用程序存放目录
/usr/bin:存放应用程序
/usr/share:存放共享数据
/usr/lib:存放不能直接运行的,却是许多程序运行所必需的一些函数库文件
/usr/local:存放软件升级包
/usr/share/doc:系统说明文件存放目录
/usr/share/man:程序说明文件存放目录
/var:放置系统执行过程中经常变化的文件
/var/log:随时更改的日志文件
/var/spool/mail:邮件存放的目录
/var/run:程序或服务启动后,其 PID 存放在该目录下
2. linux下七种的文件类型
-普通文件
d:目录
l:符号链接
b:块设备文件
c:字符设备文件
s:套接字文件
p:管道w文件
3. linux基本命令
-
系统信息相关命令
date:查看时间日期
cal:查看日历
du:显示目录下文件大小 du -h
df:查看磁盘剩余空间 df-h
free -m:查看空闲内存
uname -a:查看内核版本信息
lsb_release -a 查看发行版信息 -
目录和文件
cd:更改 当前所在路径
which:查看指定命令所在路径
pwd:查看当前所在路径
mkdir:创建目录
rmdir:删除目录
touch:将文件访问修改时间更新,不存在则创建
rm:删除文件或目录(-f 强制删除,忽略不存在的文件,无需提示-r 递归地删除目录下的内容,删除文件夹 时必须加此参数)
mv:移动文件(-i覆盖文件前提示)
cp:拷贝文件或目录(-i覆盖文件前提示 -r若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
cat:查看文件内容
more:用于分屏显示文件内容,每次只显示一页内容如果中(b回滚屏,f前滚一屏幕 Ctrl+C或q终止显示)。
less: 查看文本文件的内容,屏幕显示完一屏就等待用户按键,用户可以向上或向下查看,如果中途不想继续看下去了,可以按Ctrl+C或q终止显示。
head:显示指定文件的前面几行。如果没有指定文件,将从标准输入(键盘)上读取。如果没有指定要显示的行数,则默认显示前10行。如果要显示文件的前5行:head -5 file1
tail: 显示文件的最后几行。若没有指定显示的行或字符数,则默认显示末尾10行。如果要显示文件末5行:tail -5 file1
ln: 硬链接 ln a b 软链接:ln -s a b
tree: 按结构树的形状显示目录和文件(-d只显示目录)
wc: 利用wc 指令我们可以计算文件的Byte 数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc 指令会从标准输入设备读取数据。-c 或–bytes 或–chars 只显示Bytes 数。-l 或–lines 只显示列数。-w 或–words 只显示字数。
od: 指定数据的显示格式 -
文件属性和用户组
whoami: 查看当前登陆用户
who:查看当前在线上的用户情况
chmod:设置文件权限(chmod a+w file1 chmod 666 file1)
chown:修改所有者 chown 用户名 文件名|目录名
chgrp:修改组 chgrp -R 组名 文件名|目录名
groupadd/ groupdel 添加/删除组
useradd:添加新用户(useradd -m -g 组 新建用户名/-m自动建立用户家目录 -g 指定用户所在的组,否则会建立一个和同名的组)
passwd:设置用户名
userdel :删除用户(userdel -r 用户名/-r选项会自动删除用户家目录)
cat /etc/passwd | grep 用户名 确认用户信息
注:新建的用户不能用sudo命令执行系统维护权限
usermod -G sudo 用户名 (-G修改用户附加组)
如果sudo命令提示: is not in the sudoers file. This incident will be reported.
切换到root用户:vim /etc/sudoers 编辑文件,在root ALL=(ALL:ALL) ALL行下添加:用户名 ALL=(ALL:ALL) ALL,XXX为你的用户名。保存退出
usermod -s /bin/bash 用户名 设置登录shell
-
查找与检索
find:根据文件名查找 find [路径] -name “*.txt” 查找指定路径下扩展名.txt文件,包括子目录
grep:根据内容检索
xargs:从标准输入建立和执行命令行 -
打包压缩包
tar: 要将文件备份到一个特定的设备,只需把设备名作为备份文件名。
tar -cvf 打包文件.tar 被打包的文件/路径
tar -xvf 打包文件.tartar -zcvf 压缩文件.tar.gz 被打包压缩的文件/路径
tar -zxvf 打包文件.tar.gz -C 目标路径 (使用-C 目录需要首先创建)tar -jcvf 压缩文件.tar.bz2 被打包压缩的文件/路径
tar -jxvf 打包文件.tar. bz2 -C 目标路径 -
进程管理
ps:用于监控后台进程的工作情况
jobs:用来显示当前shell 下正在运行哪些作业(即后台作业)。
fg:把指定的后台作业或挂起作业移到前台运行
bg:把被挂起的进程提到后台执行
env:查看当前进程环境变量
top:来监控Linux的系统状况,比如cpu、内存的使用
kill:终止指定代号的进程 -9表示强制终止 -
others
echo:会在终端中显示参数指定的文字,通常会和 重定向联合使用
重定向(>,>>):>表示输出,会覆盖文件原有的内容;<<表示追加,会将内容追加到已有文件的末尾
管道(|):将 一个命令的输出 可以通过管道 做为另一个命令的输入
shutdown:关闭或者重新启动系统(shutdown -r now立即重启 shutdown now立即关机,等)
4.远程登录
Ifconfig:查看/配置计算机当前的网卡配置信息
ping:检测到目标ip地址的连接是否正常
netstat nslookup:查询一台机器的IP地址和其对应的域名
finger:用户信息
ssh服务安装:https://jingyan.baidu.com/article/9c69d48fb9fd7b13c8024e6b.html
SSH(secure shell):通过 SSH 客户端 我们可以连接到运行了SSH服务器 的远程机器上(数据传输压缩、加密)
scp 就是 secure copy,是一个在 Linux 下用来进行远程拷贝文件的命令,它的地址格式与ssh基本相同,需要注意的是,在指定端口时用的是大写的 -P 而不是小写的
域名和端口号:
域名:是 IP 地址 的别名,方便用户记忆
端口号:通过端口号可以找到计算机上运行的应用程序
常见服务端口号列表:
SSH 服务器:22,
Web 服务器:80 ,
HTTPS :443
FTP 服务器:21
1) 免密码登录:
- ssh-keygen 即可生成 SSH 钥匙,一路回车即可
- ssh-copy-id -p port user@IP地址,可以让远程服务器记住我们的公钥
非对称加密算法
使用 公钥 加密的数据,需要使用 私钥 解密
使用 私钥 加密的数据,需要使用 公钥 解密
2) 配置别名
创建config文件,~/.ssh/config 里面追加以下内容:
Host mac
HostName ip地址
User leixiaoqiang
Port 22