首页 > 系统相关 >Linux 基础知识总结

Linux 基础知识总结

时间:2022-08-22 09:58:33浏览次数:94  
标签:总结 文件 查看 tar 用户 基础知识 Linux var 目录

Linux 目录结构总结

/:根目录,一般根目录下只存放目录,在Linux下有且只有一个根目录。所有的东西都是从这里开始。当你在终端里输入“/home”,你其实是在告诉电脑,先从/(根目录)开始,再进入到home目录。

/bin: /usr/bin: 可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等。

/boot:放置linux系统启动时用到的一些文件,如Linux的内核文件:/boot/vmlinuz,系统引导管理器:/boot/grub。

/dev:存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,常用的是挂载光驱 mount /dev/cdrom /mnt。

/etc:系统配置文件存放的目录,不建议在此目录下存放可执行文件,重要的配置文件有 
/etc/inittab、/etc/fstab、/etc/init.d、
/etc/X11、/etc/sysconfig、/etc/xinetd.d。

/home:系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~表示当前用户的家目录,~edu 表示用户 edu 的家目录。

/lib: /usr/lib: /usr/local/lib:系统使用的函数库的目录,程序在执行过程中,需要调用一些额外的参数时需要函数库的协助。

/lost+fount:系统异常产生错误时,会将一些遗失的片段放置于此目录下。

/mnt: /media:光盘默认挂载点,通常光盘挂载于 /mnt/cdrom 下,也不一定,可以选择任意位置进行挂载。

/opt:给主机额外安装软件所摆放的目录。

/proc:此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间,比较重要的目录有 /proc/cpuinfo、/proc/interrupts、/proc/dma、/proc/ioports、/proc/net/* 等。

/root:系统管理员root的家目录。

/sbin: /usr/sbin: /usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount 等。与 /bin 不同的是,这几个目录是给系统管理员 root使用的命令,一般用户只能"查看"而不能设置和使用。

/tmp:一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。

/srv:服务启动之后需要访问的数据目录,如 www 服务需要访问的网页数据存放在 /srv/www 内。

/usr:应用程序存放目录,/usr/bin 存放应用程序,/usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件。/usr/local: 存放软件升级包。/usr/share/doc: 系统说明文件存放目录。/usr/share/man: 程序说明文件存放目录。

/var:放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log,/var/log/message:所有的登录文件存放目录,/var/spool/mail:邮件存放的目录,/var/run:程序或服务启动后,其PID存放在该目录下。

Linux 常用命令

虚拟机中Linux系统,可视化界面的切换
ctrl+alt+F4:进入可视化界面

ctrl+alt+F7:退出可视化界面
--help 查看帮助文档
ls --help:可以查看帮助文档
man ls:可以进行用户手册的查看操作
空格键:显示手册页的下一屏
Enter键:一次滚动手册页的一行
b:回滚一屏
f:前滚一屏
q:退出man命令
h:列出所有功能键
搜索word字符串
/word:搜索word字符串
history 查看命令操作记录
history:将执行过的命令列举出来
ssh 进行对应的远程链接
ssh ip地址:进行对应的远程连接
ssh ip地址 -l 用户名
cd 路径跳转
cd :跳转路径
相对路径:根据当前目录进行跳转时的方式
绝对路径:从/目录开始的路径

.. 上级的目录
. 当前目录
- 返回上一级所在的目录
~ 返回当前用户所在的目录
ls 列出当前的文件以及文件夹
ls:列出当前的文件以及文件夹
-a:显示指定目录下所有子目录与文件,包括隐藏文件
-l:以列表方式显示文件的详细信息
-h:配合 -l 以人性化的方式显示文件大小
*:文件代表文件名中所有字符
?:代表文件名中任意一个字符
[]:[”和“]”将字符组括起来,表示可以匹配字符组中的任意一个。“-”用于表示字符范围。
\:如果要使通配符作为普通字符使用,可以在其前面加上转义字符。“?”和“*”处于方括号内时不用使用转义字符就失去通配符的作用。
more 分屏显示
> 重定向
>> 重定向(追加)
pwd 查看当前所在路径
touch 进行对应文件的创建操作
mkdir 进行对应文件夹的创建操作
rmdir 删除空的文件夹的操作
rm 不仅可以删除文件,还可以删除文件夹(是不是没有空 )
| 管道
clear 进行清屏操作
ps 进行对应操作系统中对应性能的查看操作
-a:显示终端上的所有进程,包括其他用户的进程
-u:显示进程的详细状态
-x:显示没有控制终端的进程
-w:显示加宽,以便显示更多的信息
-r:只显示正在运行的进程
-ef:查看对应的进程的pid和ppid
top 动态显示进程,性能占用列表查看操作
M:根据内存使用量来排序
P:根据CPU占有率来排序
T:根据进程运行时间的长短来排序
U:可以根据后面输入的用户名来筛选进程
K:可以根据后面输入的PID来杀死进程。
q:退出
h:获得帮助
kill [-signal] pid 终止进程 -9强制终止进程操作
date 时间查看操作,可进行对应时间的重置操作
date [MMDDhhmm[[CC]YY][.ss]] +format
cal 对应日期的查看操作 -y对应年和日志的显示
df 检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况
-a:显示所有文件系统的磁盘使用情况
-m:以1024字节为单位显示
-t:显示各指定文件系统的磁盘空间使用情况
-T:显示文件系统
du 用于统计目录或文件所占磁盘空间的大小,该命令的执行结果与df类似,du更侧重于磁盘的使用状况。
-a:递归显示指定目录中各文件和子目录中文件占用的数据块
-s:显示指定文件或目录占用的数据块
-b:以字节为单位显示磁盘占用情况
-l:计算所有文件大小,对硬链接文件计算多次
shutdown 关机操作
-h now 立即关机
reboot 重新启动操作系统
shutdown 操作系统操作
#shutdown –r now:重新启动操作系统,shutdown会给别的用户提示
#shutdown -h now:立刻关机,其中now相当于时间为0的状态
#shutdown -h 20:25:系统在今天的20:25 会关机
#shutdown -h +10:系统再过十分钟后自动关机
init 0 关机 6 重启
ping 查看制定ip址网络通道是否畅通
ifconfig 查看当前操作系统的ip地址
ifconfig {interface} {up|down} <== 观察与启动接口
ifconfig interface {options} <== 设置与修改接口

参数说明:
Interface,网卡接口代号,包括 eth0、eth1、ppp0 等
Options,可以接的参数,包括如下:
Up或down,启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)
mtu,可以设置不同的 MTU 数值,例如MTU 1500 (单位为 byte)
netmask,就是子屏蔽网络
broadcast,就是广播地址

注:一般来说,直接输入 ifconfig 就会列出目前已经被启动的卡,不论这个卡是否有设置 IP,都会被显示出来。而如果是输入 ifconfig eth0,则会显示出这个接口的相关数据,而不管该接口是否启动。所以,如果你想要知道某个网卡的 Hardware Address,直接输入“ifconfig "网络接口代号"”即可。至于上述代码中出现的各项数据是这样的(数据排列由上而下、由左而右)。
ifconfig ens33 192.168.12.118 进行当前系统的ip地址的修改操作
ifup 和 ifdown 进行相关网卡配置的启动和关闭,合起来用 重启配置文件网卡
ifup {interface}
ifdown {interface}

如果需要在 /etc/sysconfig/network-scripts 里面的 ifcfg-ethx 等文件的设置参数来启动的话,那就得要通过 ifdown 或 ifup 来实现了。

配置 ifcfg-eth0 网络接口配置文件
    网络接口配置文件 ifcfg-eth0 在 /etc/sysconfig/network-script 在这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0 是默认的第一个网络接口,如果机器中有多网络接口,那么名字就将依此类推 ifcfg-eth1、ifcfg-eth2、ifcfg-eth3 ……

配置项目说明(形式:设定项=值):
* DEVICE     接口名(设备,网卡)
* USERCTL    [yes|no](非root用户是否可以控制该设备)
* BOOTPROTO  IP 的配置方法 [none|static|bootp|dhcp](引导时不使用协议|静态分配IP|BOOTP协议|DHCP协议)
* HWADDR    MAC地址
* ONBOOT    系统启动的时候网络接口是否有效(yes/no)
* TYPE      网络类型(通常是Ethemet)
* NETMASK    网络掩码
* IPADDR     IP地址
* IPV6INIT     IPV6是否有效(yes/no)
* GATEWAY    默认网关IP地址
* BROADCAST   广播地址
* NETWORK    网络地址
sudo 提取用户权限
ln 建立连接文件(ln 源文件 链接文件)
-s:软连接标识(ln -s 源文件 链接文件)
which 查看命令指定的位置
ping ip地址 判断网络是否可以ping通
netstat –apn 查看端口和进程信息
ctrl z 快捷键:进程sleep 后端运行
ctrl c 快捷键:进程结束
jobs 查看对应的进程程序
bg 进程启动后台
fg 进程启动前台

Linux 用户权限操作

whoami 查看当前系统当前账号的用户名。可通过cat /etc/passwd查看系统用户信息。
who 查看当前所有登录系统的用户信息
-m或am:只显示运行who命令的用户名、登录终端和登录时间 I
-q或--count:只显示用户的登录账号和登录用户的数量
-u:在登录时间后显示该用户最后一次操作到当前的时间间隔
-u或--heading:显示列标题
exit 退出登录账户
如果是图形界面,退出当前终端
如果是使用ssh远程登录,退出登陆账户
如果是切换后的登陆用户,退出则返回上一个登陆账号
su 切换用户
-:切换工作目录
root:切换到root用户
普通用户:切换到普通用户
groupadd 用户群组的添加操作
groupdel 用户群组的删除操作
usermod 修改用户所在组(使用方法:usermod -g 用户组 用户名)
useradd 添加用户账号
-d:指定用户登录系统时的主目录,如果不使用该参数,系统自动在/home目录下建立与用户名同名目录为主目录
-m:自动建立目录
-g:指定组名称
useradd -d /home/abc abc -m:创建abc用户,如果/home/abc目录不存在,就自动创建这个目录,同时用户属于abc组
useradd -d /home/a a -g test -m:创建一个用户名字叫a,主目录在/home/a,如果主目录不存在,就自动创建主目录,同时用户属于test组
cat /etc/passwd:查看系统当前用户名
passwd 超级用户可以使用passwd命令为普通用户设置或修改用户口令
userdel 删除用户
-r:强制删除
sudo -s 直接切换到超级管理员
usermod 变更用户所在组 usermod -g wh
chmod  user u group g other o 进行对应的用户权限的分配操作
chmod o+w file 给文件file的其它用户增加写权限:
u:user 表示该文件的所有者
g:group 表示与该文件的所有者属于同一组( group )者,即用户组
o:other 表示其他以外的人
a:all 表示这三者皆是
+:增加权限
-:撤销权限
=:设定权限
r:read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。
w:write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。
x:excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。

权限二进制控制  读写执行  chmod 777 file文件:
读:4
写:2
执行:1
chown 目录或文件所有者的变化操作
chgrp 目录和文件所有者所在组的变化操作

Linux 文件操作

cat 查看或者合并文件内容
tail -f log 查看指定文件,实时更新,多数用于日志查看
cp 命令的功能是将给出的文件或目录复制到另一个文件或目录中
-a:该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。
-f:已经存在的目标文件而不提示
-i:交互式复制,在覆盖目标文件之前将给出提示要求用户确认
-r:若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。
-v:显示拷贝进度
mv 进行文件的剪切操作(可进行文件/文件夹的重命名操作)
-f:禁止交互式操作,如有覆盖也不会给出提示
-i:确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
-v:显示移动进度
scp 远程拷贝文件的命令(http://blog.csdn.net/jerome_s/article/details/44465217)
定义: 用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的。可能会稍微影响一下速度。

使用方法:
1、从服务器上下载文件
scp username@servername:/path/filename /var/www/local_dir(本地目录)
例如scp [email protected]:/var/www/test.txt  把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

2、上传本地文件到服务器
scp /path/filename username@servername:/path   
例如scp /var/www/test.PHP  [email protected]:/var/www/  把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

3、从服务器下载整个目录
scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)
例如:scp -r [email protected]:/var/www/test  /var/www/  

4、上传目录到服务器
scp  -r local_dir username@servername:remote_dir
例如:scp -r test  [email protected]:/var/www/   把当前目录下的test目录上传到服务器的/var/www/ 目录

Linux 文件搜索

grep grep [-选项] ‘搜索内容串’文件名
-v:显示不包含匹配文本的所有行(相当于求反)
-n:显示匹配行及行号
-i:忽略大小写
find 通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
find ./ -name test.sh:查找当前目录下所有名为test.sh的文件
find ./ -name '*.sh':查找当前目录下所有后缀为.sh的文件
find ./ -name "[A-Z]*":查找当前目录下所有以大写字母开头的文件
find /tmp -size 2M:查找在/tmp 目录下等于2M的文件
find /tmp -size +2M:查找在/tmp 目录下大于2M的文件
find /tmp -size -2M:查找在/tmp 目录下小于2M的文件
find ./ -size +4k -size -5M:查找当前目录下大于4k,小于5M的文件
find ./ -perm 0777:查找当前目录下权限为 777 的文件或目录
find / -name mysql -type d

Linux 归档管理

tar 归档管理,tar使用格式 tar [参数] 打包文件名 文件
-c:生成档案文件,创建打包文件
-v:列出归档解档的详细过程,显示进度
-f:指定档案文件名称,f后面一定是.tar文件,所以必须放选项最后
-t:列出档案中包含的文件
-x:解开档案文件
gzip 文件压缩解压
-d:进行gz文件的解压操作
-C:进行文件解压后指定路径的选择
文件操作案例
方法1
//先创建一个tar包,对指定的包文件进行压缩操作。得到对应的文件tar.gz
tar -cvf gzip
//将指定的tar.gz文件解压为指定的包文件tar,打开tar文件将内容释放出来
gzip -d tar -xcf

方法2
//直接将指定文件压缩为tar.gz文件
tar -zcvf (gz)
//直接将指定的tar.gz文件进行解压缩操作
tar -zxvf

方法3
//直接将指定文件压缩为bz2压缩文件
tar -jcvf (bz2)
//将指定的bz2压缩文件解压出来
tar -jxvf

方法4
//将指定文件压缩为zip格式的压缩包
zip xxx.zip *.py
//将zip格式的压缩包中的文件解压出来
unzip -d xxx xxx.zip

Linux 其他操作

workon 查看linux中的虚拟环境
pip list | grep mon 查看mongoDB的版本
linux redis 版本的安装
sudo mkdir -p /usr/local/redis/
sudo cp -r redis-3.2.3/* /usr/local/redis/
ls /usr/local/redis/
deb软件包的安装操作
sudo dpkg -i /path/.deb
开启redis服务
redis-server
查看redis是否打开
>redis-client
>ping
linux 分区命令
parted /dev/sdb --script mklabel gpt
parted /dev/sdb --script -- mkpart primary 0 -1
(parted /dev/hda mkpart primary 123 234 从123M开始到234M,共111M)
parted /dev/sdb --script print
pvcreate /dev/sdb1
vgcreate nova-volumes /dev/sdb1

标签:总结,文件,查看,tar,用户,基础知识,Linux,var,目录
From: https://www.cnblogs.com/qingtianyu2015/p/16611806.html

相关文章

  • Linux安装nginx
    1、从官网下载nginx文件,右键复制链接,然后使用wget下载此链接   下载完成之后使用ls查看下载文件,没问题。2、解压tar文件 tar是解压命令。-xvf-x或--extract......
  • Oracle 序列学习与使用总结
    Oracle序列学习与使用总结by:授客QQ:1033553122简述序列是oracle提供的用于生成一系列数字的数据库对象,序列会自动生成顺序递增的序列号,可用于提供唯一的自动递增主键。......
  • linux使用iptable做网关
    首先在能上外网的机器上增加一块网卡我这里两块网卡配置如下[root@muban1~]#cat/etc/sysconfig/network-scripts/ifcfg-eth0 外网卡DEVICE=eth0TYPE=EthernetONB......
  • AtCoder Beginner Contest 265赛后总结
    生日打了场AtcoderBeginner还可以吧……做出了前四道题,第五、六题是dp方程没想出来QwQA-Apple水题+1,感谢atcoder把坑都亮出来QwQ……分两种情况讨论:三个一卖的比(一个......
  • linux 中sed命令如何删除第一列和最后一列
     001、删除第一列(base)root@PC1:/home/test#cattest.txt1MIR1302-1012FAM138A23OR4F534RP11-34P13.745RP......
  • testng基础知识:注解的执行顺序
    testng基础知识:注解的执行顺序1.单类,无继承父子关系code:1publicclassbasicTest{2@BeforeSuite(alwaysRun=true)3publicvoidbeforeSuite_b......
  • Linux跟环国内更新源配置系列
    目录DebianDebian编辑/etc/apt/sources.list,注释官方源,添加(任选其一,取消注释):点击查看内容#Debian10buster#中科大源#debhttp://mirrors.ustc.edu.cn/debi......
  • Linux虚拟机Nginx代理vue前端与SpringBoot后端资源
    1.Nginx安装配置详细参见菜鸟教程:https://www.runoob.com/linux/nginx-install-setup.html2.nginx.conf内容usernginx;worker_processes1;#设置值和CPU核心数......
  • **面试总结
    hs面试总结:1服务器传输命令scp:远程文件拷贝程序,是securecopyprogram的的缩写-r(递归)2.查看服务器运行情况以及cpu,运用哪个命令top:查看服务器各个进程情......
  • Linux允许Root登录FTP
    键入命令:cd/etc/vsftpd进入vsftpd目录键入命令:ls查看该目录包含的文件键入命令:vivsftpd.ftpusers进入文件vsftpd.ftpusers,在root前加#注释root同理,键入命令:vivsft......