文章目录
文件相关
创建文件
- >:标准重定向符允许我们创建一个 0KB 的空文件。
- touch:如果文件不存在的话,touch 命令将会创建一个 0KB 的空文件。
- echo:通过一个参数显示文本的某行。
- vi/vim:Vim 是一个向上兼容 Vi 的文本编辑器。它常用于编辑各种类型的纯文本。
- nano:是一个简小且用户友好的编辑器。它复制了 pico 的外观和优点,但它是自由软件。
文件权限修改
文件权限介绍
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
当用命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。 例如:
ls -l
-rw-r--r-- 1 root root 8 5月 28 2020 test.txt
#一共10个字符,第一个字符是文件类型,”-“表示文件,”d“表示目录;r表示可读,w表示可写,x表示可执行。
修改文件权限的shell命令有:chmod、chgrp、chown。
- chmod 命令:
用于改变文件或目录的访问权限。
- 文字设定方式
chmod [who] [+/-/=] [mode] test.txt
命令中各选项的含义为:
操作对象[who]可以是(u/g/o/a)中的任一个或者它们的组合:
u: “用户(user),即文件或目录的所有者
g: 同组(group)用户,即与文件属主有相同组ID的所有用户
o: “其他(others)用户”
a: 所有(all)用户,系统默认值
操作符[+/-/=]:
+: 添加某个权限。
–: 取消某个权限。
=: 赋予给定权限并取消其他所有权限(如果有的话)。
设置[mode]可以是(r/w/x)的任意组合:
r 可读。
w 可写。
x 可执行。 - 数字设定方式
权限模式[mode]中(r/w/x)用三位二级制数代表,0为关,1为开。例如:(可读写,不可运行)表示为:110,表示为十进制则为6。然后操作对象按照(u/g/o)进行排序,每个操作对象各自使用对应的三位二进制进行控制。
数字设定法的一般形式为:chmod [mode] 文件名
chmod 600 test.txt //将test.txt文件权限改为user可读写,其它均不可读写运行。
网络相关
网络状态
usage: netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
#常用参数
-a, --all display all connected sockets(列出所有已连接的套接字)
-l, --listening display listening server sockets(列出所有监听套接字)
-r, --route display routing table
-I, --interfaces=<Iface> display interface table for <Iface>
-i, --interfaces display interface table
-g, --groups display multicast group memberships
-s, --statistics display networking statistics (like SNMP)
-M, --masquerade display masqueraded connections
-v, --verbose be verbose
-n, --numeric don't resolve names
--numeric-hosts don't resolve host names
--numeric-ports don't resolve port names
--numeric-users don't resolve user names
-N, --symbolic resolve hardware names
-e, --extend display other/more information
-p, --programs display PID/Program name for sockets
-c, --continuous continuous listing
-o, --timers display timers
-F, --fib display Forwarding Information Base (default)
-C, --cache display routing cache instead of FIB
-T, --notrim stop trimming long addresses
-Z, --context display SELinux security context for sockets
常用格式:
netstat
- ifconfig
ifconfig可设置网络设备的状态,或是显示目前的设置。
参考资料
samba文件共享
samba介绍
- samba 是基于信息服务块(ServerMessage Block, SMB)协议的开源软件。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,Linux是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。
- Samba的端口号
TCP | UDP |
---|---|
139 | 137 |
455 | 138 |
-samba的进程
进程 | 对应 |
---|---|
nmbd | netbios |
smbd | cifs协议 |
winbinbd | win AD活动目录 |
samba配置
- linux-安装samba
许多linux版本已经预装了samba,如果没有使用apt install samba就可以了。 - linux-配置samba
- 第一步:配置文件
samba的配置文件在/etc/samba/smb.conf
。打开该文件跳到最后,添加一项
[share] #共享文件名称(也就是客户端访问时可以看到的那个名字)
comment = Shared Files #共享文件夹的描述
path = /app/share #共享文件夹路径
browseable = yes/no #是否可以浏览,如果为no就看不到文件夹,但是可以通过ip+路径访问到
writeable = yes/no #是否有写权限
write list = smbadmin, @xiyou #设置有写权限的用户@后面跟的是组名
valid users = username #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放
public = yes/no #是否允许guest账户访问
force create mode = 0775 #在有写权限的时候创建文件的权限
force directory mode = 0777 #在有写权限的时候创建目录的权限
注:xxx的部分根据自己的需求填写。
- 第二步:测试参数是否正确
testparm
- 第三步:设置用户
samba的用户必须是linux登录用户,但是需要添加到samba中,并重新设置密码。
#添加samba用户,并设置密码
smbpasswd -a xxx你的用户名xxx
- 第四步:设置需要共享的文件权限
chmod 777 xxx你共享的文件夹xxx
- 第五步:关闭防火墙
systemctl stop firewalld
- 第六步:开启/重启服务
sudo service smbd restart #重启
windows挂载
- 第一步:打开wimdows端smb服务
打开控制面版-程序-程序与功能-启用或关闭windows功能,勾选SMB 1.0/CIFS文件共享支持和SMB Direct。 - 第二步:添加共享文件
此电脑-添加一个网络位置
\\共享主机ip\\share
注:上面“share”这个和linux端编辑smb.conf中第一行输入的[]中相同。
linux挂载
安装必要库
sudo apt install cifs-utils
sudo apt install autofs
sudo mount -t cifs //ip/文件夹 /mnt/文件夹 -o username=用户名,password=密码
挂载nfs
参考资料
sudo busybox mount -t nfs 10.1.74.174:/data1/baiyuantao/nfs /mnt/nfs -o nolock
2.进程相关
ps
看了网上许多关于ps命令的文章,大都对参数定义不准确,结合自己的测试和man文档争取解释清楚常用的命令参数。另:ps的man文档可以算是我看过的最长的man命令文档,长达1100行。。。
- ps命令简介
ps(process status)- report a snapshot of the current processes。打印目前进程的快照。 - 常用参数
根据ps命令的官方文档,将其命令参数分为四种,分别为进程选择,输出格式控制,输出优化,其它参数。
- 进程选择参数:
进程选择参数 | 功能 |
---|---|
-A 或 -e | 选择所有进程。[Select all processes] |
-a | 选择除了session leaders和与终端无关进程外的所有进程,。 [Select all processes except both session leaders (see getsid(2)) and processes not associated with a terminal.] |
-t ttylist | 指定终端下的所有进程,不指定则为当前终端。 [Select by tty. it can be used with an empty ttylist to indicate the terminal associated with ps.] |
-p pidlist | 选择指定pid的进程。 [Select by PID. This selects the processes whose process ID numbers appear in pidlist. ] |
-u userlist | 选择指定用户的进程,不指定则为当前用户。 [Select by effective user ID (EUID) or name. This selects the processes whose effective user name or ID is in userlist.] |
- 输出格式控制
输出控制参数 | 功能 |
---|---|
-f | Do full-format listing. This option can be combined with many other UNIX-style options to add additional columns. It also causes the command arguments to be printed. |
-o format | 自己定义需要输出哪些信息,如pid,stat等。[User-defined format.] |
- 输出优化
输出优化参数 | 功能 |
---|---|
-H | Show process hierarchy (forest). |
- 其它参数
常用命令:
组合 | 功能 |
---|---|
ps au user_name | 打印该用户的所有进程 |
ps aux | 打印所有用户的所有进程 |
- -ef
- eFH
- -eo或axo
dstat
top
作用:能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
op使用方法:
使用格式:
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
参数 | 说明 |
---|---|
d | 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 |
p | 通过指定监控进程ID来仅仅监控某个进程的状态。 |
q | 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 |
S | 指定累计模式。 |
s | 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 |
i | 使top不显示任何闲置或者僵死进程。 |
c | 显示整个命令行而不只是显示命令名。 |
htop
3. 查找命令
find
grep
- 命令介绍
grep(global search regular expression and print out the line),支持正则表达式的全局搜索并将结果直接打印
作用:用于查找文件里符合条件的字符串 - 常用选项参数
参数 | 说明 |
---|---|
-E | 开启扩展(Extend)的正则表达式。 |
-i | 忽略大小写(ignore case)。 |
-v | 反过来(invert),只打印没有匹配的,而匹配的反而不打印。 |
-n | 显示行号 |
-w | 被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker |
-c | 显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。 |
-o | 只显示被模式匹配到的字符串。 |
-A n | 显示匹配到的字符串所在的行及其后n行,after |
-B n | 显示匹配到的字符串所在的行及其前n行,before |
-C n | 显示匹配到的字符串所在的行及其前后各n行,context |
where
whereis
4. 打包与压缩
tar
linux下的打包工具,将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署。
用法:tar[必要参数][选择参数][文件]
参数:
-c:(create)建立打包文件
-t :查看打包文件的内容含有哪些文件
-x :解打包或解压缩的功能,可以搭配-C(大写)在特定目录解开
-j :通过bzip2的支持进行压缩/解压缩,此时文件最好为*.tar.bz2
-z :通过gzip的支持进行压缩/解压缩,此时文件最好为*.tar.gz
-v :在压缩/解压缩的过程中,将正在处理的文件名显示出来
-f filename:-f 后面跟处理后文件的全名称(路径+文件名+后缀名)
-C 目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
-p:保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件
常用组合:
tar -zcvf test 打包后,以 gzip 压缩
tar -jcvf test 打包后,以 bzip2 压缩
.tar.gz 和 .tgz
解压:tar zxvf FileName.tar.gz
压缩:tar zcvf FileName.tar.gz DirName
gzip
5. 编程相关
ar
静态库编译工具。
参考资料