0%

Linux实用工具

Linux screen工具

功能介绍

Linux screen命令用于多重视窗管理程序。此处所谓的视窗,是指一个全屏幕的文字模式画面。通常只有在使用telnet登入主机或是使用老式的终端机时,才有可能用到screen程序。

语法

1
screen [-AmRvx -ls -wipe][-d <作业名称>][-h <行数>][-r <作业名称>][-s <shell>][-S <作业名称>]

参数说明

  • -A  将所有的视窗都调整为目前终端机的大小。
  • -d<作业名称>  将指定的screen作业离线。
  • -h<行数>  指定视窗的缓冲区行数。
  • -m  即使目前已在作业中的screen作业,仍强制建立新的screen作业。
  • -r<作业名称>  恢复离线的screen作业。
  • -R  先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
  • -s  指定建立新视窗时,所要执行的shell。
  • -S<作业名称>  指定screen作业的名称。
  • -v  显示版本信息。
  • -x  恢复之前离线的screen作业。
  • -ls或–list  显示目前所有的screen作业。
  • -wipe  检查目前所有的screen作业,并删除已经无法使用的screen作业。

常用命令

1
2
3
4
5
screen -ls  # 显示已创建的screen终端
screen -S <screen name> # 创建新的screen终端
screen -r <screen name> # 重连screen终端
screen -d <screen name> # 断开screen终端
screen -S <screen name> -X quit # 强制停止命令

screen快捷键

  • Ctrl -a c 创建新的视窗
  • Ctrl -a d 断开screen终端,任务还在运行
  • Ctrl -a k 删除当前视窗
  • Ctrl -a 空格 视窗切换
  • Ctrl -a ? 快捷键帮助
  • Ctrl -a : 命令模式,类似vi
  • Ctrl -a [ 复制模式,可以移光标上去看上面的打印

screen配置

1
wget https://github.com/hao0527/hao0527.github.io/blob/main/others/screencfg -O ~/.screenrc  # 一个好用的screen配置文件

上面这个配置指令有些问题,wget下载下来的是html,所以就手动复制下内容到~/.screenrc文件吧。

Linux vi/vim工具

功能介绍

所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。

vi/vim使用

基本上 vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)

命令模式

220224-Linux实用工具-1.jpg

输入 作用
yy 复制游标所在的那一行。(常用)
dd 剪切游标所在的那一整行(常用),用 p/P 可以粘贴。
p/P p粘贴在光标行下面,P粘贴在光标行上面。
u 复原前一个动作。(常用)
[Ctrl]+r 重做上一个动作。(常用)
/word 向光标之下寻找一个名称为 word 的字符串。 (常用)
?word 向光标之上寻找一个字符串名称为 word 的字符串。
i, I 进入输入模式(Insert mode)
ZZ 如果修改过,保存当前文件,然后退出!效果等同于保存并退出

常用的还有替换功能:

  • :1,$s/word1/word2/g:%s/word1/word2/g,从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用)
  • :1,$s/word1/word2/gc:%s/word1/word2/gc,从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 ,加了c表示取代前显示提示字符给用户确认 (confirm) 是否需要取代。

输入模式

输入模式比较简单,可以使用键盘上的Home、End等功能键,按Esc退出输入模式到命令模式

底线命令模式

输入 作用
:w 将编辑的数据写入硬盘档案中(常用)
:q 离开 vi (常用)
:q! 若曾修改过档案,又不想储存,使用 ! 为『强制』离开不储存档案。
:wq 储存后离开,若为 :wq! 则为强制储存后离开 (常用)
:w [filename] 将编辑的数据储存成另一个档案(类似另存新档)
:r [filename] 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面
:n1,n2 w [filename] 将 n1 到 n2 的内容储存成 filename 这个档案。
:! command 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如
『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息!
:set nu/nonu 显示/取消行号

Linux tldr工具

功能介绍

一个比 –help 和 man 好用的查指令手册的工具,点我跳到tldr(too long don’t read)主页

安装

我使用sudo apt install tldr安装,然后mkdir -p ~/.tldr/tldr,再更新字典sudo git clone https://gitclone.com/github.com/tldr-pages/tldr.git ~/.tldr/tldr,国内使用这个镜像快。

推荐:官网上说可以使用npm或pip3安装。

使用

使用方式极其简单,tldr tldr你就可以查到tldr的使用手册。

Linux Samba工具

功能介绍

samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,Ubuntu是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择,当然在Linux系统与Linux系统之间的文件共享也选择samba。

安装

在Ubuntu中安装sudo apt install samba,会自动安装其依赖组件。

安装后可用samba -V查看samba版本号,以确认安装完成。

使用

配置文件目录在/etc/samba/smb.conf,配置以下内容可共享home目录下用户文件夹。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
[homes]
comment = Home Directories
browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
read only = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0775

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0775

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# Un-comment the following parameter to make sure that only "username"
# can connect to \\server\username
# This might need tweaking when using external authentication schemes
valid users = %S

遇到的问题

以上配置后需要重启samba服务生效,可以注销用户后重新登录。

通过sudo smbpasswd -a userName添加一个samba用户,不然直接windows远程访问会拒绝访问。

userName需要是系统已有的用户名,否则会Failed to add entry for user userName