title: Linux基础3-实用进阶
author: liji
date: 2021-10-9 12:12:25


Abstract:一些超级实用的Linux技巧.比如管道,权限,进程等命令.从b站学习来的

Keywords:Linux学习

参考文献

[1] 基于ubuntu的linux学习教程,由入门到精通_哔哩哔哩_bilibili

[2] linux系统全套学习课程-Ubuntu_哔哩哔哩_bilibili

Linux重定向(输入输出重定向)详解 (biancheng.net)

值得收藏-史上最全Linux ps命令详解-阿里云开发者社区 (aliyun.com)

ps命令用户名过长显示不全_码行天下-CSDN博客

linux 指定ps comm输出长度,ps命令查看进程指定项目信息、用户名过长显示UID_三月小公举的博客-CSDN博客

python3之http.server模块_辰辰啊-CSDN博客


文件目录结构

ubuntu没有关于盘符的概念,即没有cde硬盘.win是单用户操作系统,linux是多用户操作系统.

home中存放的是用户

根目录 就是/

etc 系统配置文件

bin 可执行的程序,类似于exe文件集合

/bin 可执行文件
/sbin system bin,管理系统的
/usr/bin 后期安装的软件
/usr/sbin 超级用户的管理程序

最好把命令和对应英文联系起来

list,print work directory,clear,remove,touch,change directory.

新建文件 touch

帮助信息 man

空格,f 下一页
b 上一页
/word 搜索word字符串
q 退出
enter 下一行

cat,more,less

就和help与man一样,一个分屏一个不分屏.

还是less好用,谁用谁知道

cat xxx | less

grep

搜索文件中的文本,但是我直接用vim不行吗?

^wrod,word$:行首匹配,行尾匹配.

head

head -n 5

和grep一样的使用,显示起来随自己.也不错

echo 与重定向

很少单独使用,和重定向配合,>,>>,输入和追加.

Linux重定向(输入输出重定向)详解 (biancheng.net)

输入很难理解.以下#是在root下的意思,普通用户是$

[root@localhost ~]# cat /etc/passwd
#这里省略输出信息,读者可自行查看
[root@localhost ~]# cat < /etc/passwd
#输出结果同上面命令相同
#注意,虽然执行结果相同,但第一行代表是以键盘作为输入设备,而第二行代码是以 /etc/passwd 文件作为输入设备。
[root@localhost ~]# cat a.txt
[root@localhost ~]# cat < /etc/passwd > a.txt
[root@localhost ~]# cat a.txt
#输出了和 /etc/passwd 文件内容相同的数据
#复制文件
[root@localhost ~]# cat << 0
>c.biancheng.net
>Linux
>0
c.biancheng.net
Linux
#不输入0就可以一直输入数据,通常EOF,因为ctrl+d就是EOF

管道

ls -lh | more #其实less挺好用的
ls -lh | grep xxx

端口

web服务器 端口80;我们访问百度,不用加80也可以直接找到百度的web服务器.

注意我们找到的是百度的web服务器,而不是百度那台机器.

只有加上端口才能连上web服务器软件,才能享有web服务.

ssh

ssh在linux是开始就有的.在win中要自己安装,或者安装xshell,putty客户端来模拟

ssh [-p port] user@remote
ssh-keygen
#把.pub文件传到服务器.
ssh-copy-id user@remote

传输文件

scp 文件 user@remote:目录

.ssh/config

Host 别名  HostName ip地址   User 用户名    Port 22#现在可以用ssh 别名来连接电脑了#现在也可以用scp 别名来传输文件了

用户权限相关命令

read:r 4

write:w 2

excute:x 1

read r 4
write w 2
excute x 1

1. 组概念

简化我们对用户权限的设置,可以一次设置一个组

-rw-rw-r-- s2020020922 studrwxrwxr-x s2020020922 stu

1 标记为文件还是目录

剩下的每三个一组,分三组;第一组是用户s2020020922;第二组是组对应权限,stu;第三组是其他用户的权限

2. 硬链接数

可以到达这个文件或者目录的道路.

其实和tree命令有关系的.

3. 修改文件权限

chmod -x test #就不能cd进testchmod +x test #加上可执行权限

4. chmod 数字化

read 4; write 2; excute 1

R 目录递归修改权限

chmod -R 755 文件名或目录名

超级用户root与普通用户

root是添加用户,安装软件等.

su #substitute usersudo #root身份执行,要输入密码,5分钟期限.

创建用户/设置密码/删除用户

useradd -m -g 组名 #创建用户,m有奇用passwd 用户名 #修改密码userdel -r 用户名

421服务器是在home421中创建的所有用户和组.

查看用户/设置用户

#/etc/group 存放组信息#/etc/passwd 存放用户信息id 用户名 #查看用户信息who #查看当前有谁用服务器whomi#查看自己是谁

以自身为例子

id#用户id=1015(s2020020922) 组id=1001(stu) 组=1001(stu)
cat -n /etc/passwd |grep s2020020922#64  s2020020922:x:1015:1001::/home/s2020020922:/bin/bash# x:有密码且加密;

home421可以通过sudo创建新用户,我的不在sudo ers组中就不能有这种操作.

cat -n /etc/group | grep home421#5   adm:x:4:syslog,home421#18   cdrom:x:24:home421#21   sudo:x:27:home421#23    dip:x:30:home421#35 plugdev:x:46:home421#59 lpadmin:x:120:home421#70    lxd:x:131:home421#71    home421:x:1000:#72  sambashare:x:132:home421#人家home421用户可以使用sudo和很多,即有很多附加组.

1. 添加附加组usermod

不写了,用到就百度就好

2. 用户使用shell设置避免乱码如^A

shell就是命令行窗口

s2020020922@home421:~$#这个是/bin/bash$#这个是dash.在xp下边输入会乱码,比如^H,^A.

如何避免以上情况

usermod -s /bin/bash 用户名

查看命令which,命令文件所在位置

说明很多命令的可执行文件都在bin目录下.或者sbin

切换用户 su

su -用户名#切换用户,-可切换至用户的目录,否则保持不变#不加用户名就是到root,非常不安全.exit #退出.

系统信息相关命令:进程等

命令 作用
date 系统时间
cal 日历
df -h disk free 磁盘剩余空间
du -h disk usage 显示目录下的文件大小
-h 人性化显示文件大小
ps aux process status 查看进程的详细状态
a 显示终端所有进程,包括其他用户进程
u 进程详细状态;感觉是显示用户的信息
x 显示没有控制终端的进程,更多进程了.
top 动态显示运行中的进程并且排序,q退出.不按q永远不停
kill -9 pid 强制终止;不能中止系统的命令

经过查看发现,ps ef和au差不多.

发现ps -w 可以拓宽显示长度,但是好像要-wwww才行.当然这样也是不能显示全2020020922这类的用户名.为啥?往下看

对了,-w是有用的,因为grep查找的就是在终端看到的,如果因为隐藏了而在终端不显示,自然用grep也查不到

1. ps命令选项 之多种风格

值得收藏-史上最全Linux ps命令详解-阿里云开发者社区 (aliyun.com)

这篇文章是大佬.

BSD风格语法,必须不能以中横线开头;# ps uSYSV风格语法,必须仅一个中横线开头;# ps -lGNU风格语法,必须以两个中横线开头; # ps --pid l

ps命令中会有这三种风格,根据ps的容错机制,三种风格部分命令可以混搭.

比如,ps -axu,一般先以sysv解析,不成功,然后转换成bsd风格,也不行,反正就是根据这个命令的内部机制就是不行,也可能下个版本就行了.总之,明白这个意思就好

GNU风格的选项都是带参数值的,如–sid 1

2. 查看进程的名字

没错就是为了看看哪个小可爱再用服务器

ps -q pid -o user  #不知道为啥必须用小写,大写不行.#USER#s2020020911其实ps -p pid -o user #也可以.

为了这个查看进程名字费了很多事,比如

ps命令用户名过长显示不全_码行天下-CSDN博客

这个哥们用了这条命令

ps -o ruser=userForLongName -e -o pid,ppid,c,stime,tty,time,cmd#其实 user=fiodsaaaaafjdsoaaaaaaaa 也就行了#或者ps -o pid,user     把user放最后就不会显示不全了

我以为userforlongname是个啥参数,其实就是修改了列的名字,以前的列叫USER,对应的用户名s2020020922过长,就是显示不全,把USER改成userforlongname,就可以显示全用户名了

linux 指定ps comm输出长度,ps命令查看进程指定项目信息、用户名过长显示UID_三月小公举的博客-CSDN博客

查找文件find,树文件结构tree

find [path] -name "*.py" #这个通配符不适合配合grep,因为.才是匹配任何字符find /etc -name "passwd*" -exec grep "liji-wsl" {} \; #真的强find /etc -name "passwd*" -exec ls {} \;#{}是find出来的文件,就像python中的filter一样,对每一个文件都同样操作,h \;是为了转义字符,必须加上\;

打包压缩 tar.gz

tar只是打包,不压缩.

#打包文件tar -cvf xxx.tar xxx xxx xxx 要存放的路径#解包文件tar -xvf xxx.tar

gzip 压缩

tar 打包, gz 压缩

其扩展名为 xxx.tar.gz

#打包 压缩tar -zcvf xxx.tar.gz xxx xxx 路径#解包 解压tar -zxvf xxx.tar.gz#解压指定路径tar -zxvf  xxx.tar.gz -C m

apt-get 软件安装卸载更新

每个apt前都有sudo;

#安装软件sudo apt install xxx#卸载sudo apt remove xxx#更新sudo apt upgrade

配置软件源,不全

外国的主服务器就是软件源. 但是太慢了

国内有镜像源,如阿里镜像,清华镜像.

Linux服务器资源在本地可视化

1 Linux在win上的可视化(不推荐)

1 和xmanager配合使用

gedit :跟创建txt一样

eye of ghome:查看图片

2 使用网页查看,无法修改

这个真的强

python3之http.server模块_辰辰啊-CSDN博客

python -m http.server #默认端口号8000,可自行设置#在win浏览器输入http://172.27.66.249:8000/#即服务器+端口.

Linux基础3-实用进阶相关推荐

  1. Linux基础命令与进阶

    目录标题 Linux基础命令与进阶 关机命令 Linux 用户/用户组 1.增加一个用户组 2.删除一个用户组 3.修改用户组的属性 4.添加用户账号 5.删除帐号 6.修改帐号 7.用户口令的管理 ...

  2. 从Linux基础到k8s进阶,马哥_K8s进阶实战(11)Kubernetes系统扩展

    自定义资源类型 CRD 扩展Kubernetes API常用方式: 1.使用CRD自定义资源类型 (易用但限制颇多) 2.开发自定义API Server并聚合至主API Server (富于弹性但代码 ...

  3. linux操作系统测试面试题,软件测试进阶面试题之Linux基础

    随着移动互联网的发展,软件测试求职者越来越多,针对根据市场需求,本文整理了一些关于Linux基础的软件测试进阶面试题,希望能够帮助学生和软件测试程序员提升面试能力. 1.如何查看 CPU 信息? /p ...

  4. 视频教程-Kali Linux渗透测试基础入门到进阶实战全程课-渗透测试

    Kali Linux渗透测试基础入门到进阶实战全程课 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥499.00 立即订阅 ...

  5. Linux零基础入门到进阶

    在IT圈子里一直流传着这么一句话:身为程序员,一定要学Linux.播妞发现,很多小伙伴都听说过Linux,但却一知半解...... Linux是什么?Linux有必要学吗?学Linux有什作用?今天就 ...

  6. 2017年Linux基础进阶系列课-老男孩-专题视频课程

    2017年Linux基础进阶系列课-13877人已学习 课程介绍         本套课程讲解的重要知识点如下: Linux文件属性体系精讲 .Linux正则表达式及grep命令深度讲解.三剑客sed ...

  7. Android基础知识~入门进阶,一步步走到高手

    Android基础知识~入门进阶,一步步走到高手 2011年09月01日 [b]希望新入手ANDROID设备的朋友认真阅读本帖,一些简单的问题就可以自己解决了!!! 一:基础知识[/b] [b]1.什 ...

  8. 小猿圈Linux基础面试题,看看你能答对几道?

    最近身边的很多朋友都在学习linux,从最开始的安装软件都需要百度一天的他们,现在已经成长为了,不需要百度就可以把自己弄懵圈的了,接下来的几天小猿圈linux老师会为大家准备一些实用的linux技巧分 ...

  9. JSP WEB开发入门基础到高手进阶教程002

    JSP WEB开发入门基础到高手进阶教程 -------开发入门 JSP与微软的Active Server Pages 兼容,但它是使用类似HTML的卷标以及Java程序代码段而不是VBScript. ...

  10. Linux中如何使用mysql和php_hi 感恩节——Linux基础教程之mysql和php

    感恩节.虽然一直没有过这个节日的习惯,但仅仅是听到感恩的消息,都能想到一幅幅画面.愿大家安好! 学习Linux的前言 选择了Linux发行版本,你就会想如何开始学习Linux了. 1.当然是安装Lin ...

最新文章

  1. 深度学习调参tricks总结!
  2. android 自动休眠时间设置在哪里,Android休眠设置时间
  3. 机器学习与数据挖掘有什么异同?
  4. Django默认用户认证系统和用户模型类
  5. 走近5G云游戏标准制定——握住互联网世界看不见的手
  6. Managed keyedState中的ValueStateDescriptor与MapStateDescriptor
  7. php怎么改标题,PHP – 如何更改包含header.php的页面标题?
  8. duilib环境配置以及简单入门介绍
  9. JS实现将所有超链接指向同一个页面地址
  10. atitit..主流 浏览器 js 引擎 内核 市场份额 attialx总结vOa9
  11. TMS320F28377D的外设应用笔记(1)——Epwm配置
  12. java移动业务大厅案例_基于Java的SOSO移动大厅项目(功能全部实现了)
  13. 苹果弹出无法验证服务器身份sec,苹果iPhone弹出无法验证服务器身份怎么回事什么意思,怎么解决...
  14. 小草手把手教你 LabVIEW 串口仪器控制——VISA 串口配置
  15. ETL讲解(很详细!!!)
  16. Jersey搭建restFul形式接口
  17. 如何使用SMS向客户传递服务信息?指南在这里!
  18. php写火车头采集接口,的这个火车头采集接口我在火车头采集规则里已经写了采集时间的规,迅睿CMS,CodeIgniter技术文档,PHP开发文档,迅睿CMS框架官方教程...
  19. 爬虫--05:多线程与生产者消费者模型
  20. Kubernetes控制器和service

热门文章

  1. 清除显卡右键菜单批处理.bat
  2. vuejs --- 父组件向子组件传值(父传子)
  3. yarn : 无法加载文件 C:\Users\Emily\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。
  4. LLS1000智能线路控制器
  5. 回眸--从高考到程序猿
  6. 邮箱客户端 gmail支持_如何在新的Gmail中启用离线支持
  7. 第三方登入时昵称出现emoji表情致mysql插入失败
  8. 黎曼的zeta函数(1)
  9. 群晖7.0搭建discuz论坛
  10. 【游戏客户端】制作节奏大师Like音游(全)