关于linux命令stuff的信息

Linux 暂停命令linux的暂停命令就是将进程杀死 。
用一个实例说明:
【关于linux命令stuff的信息】1、首先使用tar命令打包/usr目录:
开启一个新窗口查看其进程状态:
进程处于运行状态(R)
2、使用kill -STOP 命令将该进程暂停:
再观察其状态:
此刻进程处于暂停状态了(T)
3、使用kill -CONT恢复进程执行
进程恢复运行状态(R)
Linux grep、egrep使用命令详解grepegrep区别
grep默认不支持扩展 但可以通过-E 选择来支持扩展正则
egrep 支持扩展正则
关于正则与扩展正则linux命令stuff的区别可以看我另一篇shell 正则的介绍
文件处理顺序 以行为单位,逐行进行处理
默认只输出与表达式相匹配的文本行
基本用法
- 格式1:egrep [选择] '正则表达式' 文件
- 格式2:前置命令 | egrep [选择] '正则表达式'
? egrep命令工具 (扩展正则命令)
? 常用命令选项
?grep 正则表达式,用来查找过滤文档的工具符号
grep "root" user//在user文档中查找有单词root的行
grep "^root"user//在user文档中查找以单词root开头的行
grep "bash"user//查找空行
grep "^ "user//查找以空格开头的行
grep "[rot]"user//查找字母r或者o或者t
grep "roo[tn]" user//查找root或者roon
grep "[^rot]"user//查找字母r或者o或者t之外的内容
grep "[a-z]"user//查找小写字母
grep "[A-Z]"user//查找大写字母
grep "[a-Z]"user//查找所有字母
grep "[0-9]"user//查找数字
grep "r..t" user//查找以r开头t结尾中间有2个任意字符的单词
grep "r. " user//查找以r开头后面任意字符相当手通配符
grep "ro*" user//查找以r开头后面有或没有字母o的单词,o可以出现任意次
grep"o{1,2}"user//查找o出现1次到2次的行
grep"o{2,3}"user//查找o出现2次到3次的行
grep"o{2}"user//查找o出现2次的行
grep "o{1,} "user//查找o出现1次以及1次以上
grep"(:0){2}"user//查找:0(数字零)连续出现2次的行
扩展正则
egrep"o "user//查找o出现1次以及1次以上
egrep"o?"user//查找o出现0次或1次
egrep"o{1,2}"user//查找o出现1次到2次的行
egrep"o{2,3}"user//查找o出现2次到3次的行
egrep"o{2}"user//查找o出现2次的行
egrep"o{1,}"user//查找o出现1次以及1次以上
egrep"(:0){2}"user//查找:0(数字零)连续出现2次的行
egrep"bash|nologin"user//查找bash或者nologin
egrep"\bthe\b"a//查找单词the,前后是空格或者特殊符号
案例:
正则表达式匹配练习
1)典型的应用场合:grep、egrep检索文本行
grep命令不带-E选项时linux命令stuff,支持基本正则匹配模式 。比如“word”关键词检索、“^word”匹配以word开头的行、“word$”匹配以word结尾的行……等等 。
输出以“r”开头的用户记录:
输出以“localhost”结尾的行:
若希望在grep检索式同时组合多个条件,比如输出以“root”或者以“daemon”开头的行:
而若若使用grep -E或egrep命令,可支持扩展正则匹配模式,能够自动识别 |、{} 等扩展正则表达式中的特殊字符,用起来更加方便,比如:
或者
使用grep -E 与 使用egrep命令完全等效 , 推荐使用后者 , 特别是涉及到复杂的正则表达式的时候 。
2)grep、egrep命令的-q选项
选项 -q 表示 quiet(静默)的意思 , 结合此选项可以只做检索而并不输出,通常在脚本内用来识别查找的目标是否存在,通过返回状态 $? 来判断,这样可以忽略无关的文本信息,简化脚本输出 。
比如,检查/etc/hosts文件内是否存在192.168.4.4的映射记录,如果存在则显示“YES”,否则输出“NO”,一般会执行:
这样grep的输出信息和脚本判断后的提示混杂在一起,用户不易辨别,所以可以改成以下操作:
是不是清爽多linux命令stuff了,从上述结果也可以看到 , 使用 -q 选项的效果与使用/dev/null的效果类似 。
3)基本元字符 ^、$ —— 匹配行首、行尾
输出注释的配置行(以#开头的行):
统计本地用户中登录Shell为“/sbin/nologin”的用户个数:
提示: -m10仅在文件的前10行中过滤 , 后面的行不再过滤 。
结合 -c 选项输出匹配的行数
使用 -c 选项可输出匹配行数,这与通过管道再 wc -l的效果是相同的,但是写法更简便 。比如,统计使用“/bin/bash”作为登录Shell的正常用户个数 , 可执行:
或者
4)基本元字符 . —— 匹配任意单个字符
以/etc/rc.local文件为例,确认文本内容:
输出/etc/rc.local文件内的空行(用 –v 选项将条件取反):
5)基本元字符、?、—— 目标出现的次数*
还以/etc/rc.local文件为例:
输出包括 f、ff、ff、……的行 , 即“f”至少出现一次:
输出包括init、initial的行 , 即末尾的“ial”最多出现一次(可能没有):
输出包括stu、stuf、stuff、stufff、……的行,即末尾的“f”可出现任意多次 , 也可以没有 。重复目标只有一个字符时,可以不使用括号:
输出所有行,单独的“.*”可匹配任意行(包括空行):
输出/etc/passwd文件内“r”开头且以“nologin”结尾的用户记录,即中间可以是任意字符:
6)元字符 {} —— 限定出现的次数范围
创建一个练习用的测试文件:
输出包括ababab的行,即“ab”连续出现3次:
输出包括abab、ababab、abababab的行,即“ab”连续出现2~4次:
输出包括ababab、abababab、……的行 , 即“ab”最少连续出现3次:
7)元字符 [] —— 匹配范围内的单个字符
还以前面的测试文件bracet.txt为例:
输出包括abc、abd的行,即前两个字符为“ab” , 第三个字符只要是c、d中的一个就符合条件:
输出包括大写字母的行,使用[A-Z]匹配连续范围:
8)单词边界匹配
以文件/etc/rc.local为例:
输出包括单词“init”的行,文件中“initialization”不合要求:
或者:
输出包括以“ll”结尾的单词的行 , 使用匹配单词右边界:
或者:
9)多个条件的组合
通过dmesg启动日志查看蓝牙设备、网卡设备相关的信息:
用Ubuntu (Linux) 系统的screen命令启动服务留此备查 。
screen命令类似于“虚拟桌面”linux命令stuff的概念,可以启动一个Linux下的虚拟桌面,在其中可以和普通终端一样执行各种命令 。
如果系统中没有screen命令,可以用 apt install screen 来进行安装 。
screen命令的基本用法有linux命令stuff:
screen 启动一个虚拟桌面
在启动后的虚拟桌面中,按Ctrl a 然后d(注意这个过程中Ctrl一直按?。簿拖嗟庇贑trl a 然后Ctrl d),可以从虚拟桌面返回之前的终端,此时如果虚拟桌面中还有命令或进程在执行,将继续执行,即使退出了这个终端也仍将继续执行 。这样就实现了后台执行命令或服务 。
如果再想要查看这个虚拟桌面中的情况 , 执行screen -r即可 。
如果有多个screen虚拟桌面在执行中 , 可以用screen -ls列出所有的桌面,然后按照桌面开始的序号(例如是1234) , 执行screen -r 1234或screen -x 1234就可以进入该桌面查看,然后再用Ctrl a,d命令组合退出桌面 。
如果要真正退出虚拟桌面(结束该桌面及其中正在运行的进程),在桌面中用exit命令退出即可 。
如果要给启动的虚拟桌面起一个名字 , 可以用类似 screen -S test 这样的命令,这将启动一个名为test的虚拟桌面 , 以后可以用screen -x test命令来进入查看 。
如果想要一条命令用screen启动一个后台进程并且退出(保持后台运行 , 类似于服务进程),可以用类似下面的命令linux命令stuff:
screen -dmS test top
这将启动一个 名为 test 的虚拟桌面,然后在其中执行top命令 , 然后退出该桌面 。
这样,linux命令stuff我们再结合Linux中的启动执行方法 , 就可以制作自己的服务进程了 。
下面设置自启动脚本的方法启动仅供参考linux命令stuff:
方法一:使用crontab
方法二:
很多时候需要Ubuntu在开机的时候执行一些指定的命令,这里对操作方法进行记录 。
在 /etc/init.d/ 中创建自己的开机运行脚本
# 这里的文件名 mystart 可以修改为任何你喜欢的名称,但是必须放在/etc/init.d/目录中
cd /etc/init.d
sudo vim /etc/init.d/mystart.sh
写入需要执行的命令,
#!/bin/bash
### BEGIN INIT INFO
# Provides:tuzixini
# Required-Start:$local_fs $network
# Required-Stop:$local_fs
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Short-Description: self define auto start
# Description:self define auto start
### END INIT INFO
# 上面的部分也必须写上,后面放上你需要开机执行的命令,这里是挂载一个硬盘
sudo mount /dev/sdb1 /opt/disk
修改脚本文件权限(将命令中的mystart.sh替换成实际的脚本文件名称)
sudo chmod 755 /etc/init.d/mystart.sh
加入开机启动(将命令中的mystart.sh替换成实际的脚本文件名称)
sudo update-rc.d mystart.sh defaults 90
ok,完成,后面系统启动的时候就会自动运行这段命令 。
下面是另一段参考:
第一步、先建立screen name
shellscreen -dmS test
第二步、发送要执行的命令
shellscreen -r test -p 0 -X stuff "top"
第三步、发送一个回车符,让top命令运行起来
shellscreen -r test -p 0 -X stuff $'\n'
参数说明:
-r 恢复/进入一个screen
-p 0 指定第一个(从0开始)window,一个screen里可以有几个window,这里只需要指定第一个 , 不然会在某些情况下不生效 。
-X 执行一个指定的screen支持的command
stuff 是-X的第一个参数 , 也是screen支持的一个command,意思是粘贴一个string
"top" 是粘贴的string 内容
$'\n' 是粘贴一个回车符进去,以此来执行screen里面的top命令
linux 如何共享远程文件夹?一般是通过以下几种方式:
1、设置FTP服务器
2、NFS服务器
3、SAMBA服务器
FTP和NFS都比较简单,下面介绍一下SAMBA的配置方法:
Linux系统默认已经安装了Samba , 但是没有安装Samba服务:
1,先查看安装情况:rpm -qa|grep samba
根据系统的安装情况选择下载或者通过光驱安装所缺的rpm包 。
我的安装情况是:
使用命令:mount/dev/cdrom1/mnt/cdrom1
通过mount把cdrom1挂载到系统临时目录/mnt/cdrom1,在Packets包下面使用命令:rpm -ivh samba.*.rpm包安装 。
切换到放置rpm文件的目录
[root@smb_serverroot]# rpm-ivh samba-common-3.6.9-151.el6.x86_64
这是Samba 必备的程序,必须安装
[root@smb_serverroot]# rpm-ivh samba-3.6.9-151.el6.x86_64
安装Samba 服务器程序,可以使我Windows 主机访问Samba 服务器共享的资源 。
如果需要使Linux 主机访问Windows 主机上的共享资源,则还应该安装Samba 客户端程序 。
[root@smb_serverroot]# rpm-ivh samba-client-3.6.9-151.el6.x86_64
2 , 安装samba的rpm包完成后
samba-common-3.6.9-151.el6.x86_64//主要提供samba服务器的设置文件与设置文件语法检验程序testparm
samba-client-3.6.9-151.el6.x86_64//客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
samba-swat-3.6.9-151.el6.x86_64//基于https协议的samba服务器web配置界面
samba-3.6.9-151.el6.x86_64//服务器端软件 , 主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具 , /etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件 。
5、查看samba的服务启动情况
# service smb status
6、设置开机自启动
# chkconfig --level 35 smb on//在3、5级别上自动运行samba服务
7、配置smb服务
[global]
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = ImgPath05
[ImgPath]
comment = Public stuff
path = /usr/local/nginx/html/img
public = yes
writeable = yes
browseable = yes
guest ok = yes
共享目录为:/usr/local/nginx/html/img,共享目录对外名称为:ImgPath 即在Windows看到的目录名称 。
设置共享目录权限:chown -R nobody:nobody /usr/local/nginx/html/img/
8、启动或者重启smb服务
重启smb服务
测试smb.conf配置是否正确
9 Windows访问共享目录,但是没有写权限,通过以下方式修改防火墙设置 。
将Linux smb服务添加到防火墙的例外中 以root用户执行setup命令#setup弹出...重启生效,如果不想重启,用命令#setenforce 0
Linux怎么使用压缩和解压到指定目录的命令在Linux上使用tar命令解压和压缩文件方法如下:
压缩单个文件或者整个文件的方式方法,通常可以利用以下这些命令来解压和压缩:
-v:在终端显示进度的同时创建归档,也被称为“V erbose”模式 。
-c:C reate存档 。
-f:允许你指定存档的Filename 。
-z:压缩zip存档 。如图所示:
一次压缩多个文件或者目录(tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt),如图:
压缩整个目录,但不包括该目录下的某些文件和目录,可以通过添加一个--exclude开关即:tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache,如图:
使用bzip2压缩,如图:
利用tar -xzvf archive.tar.gz命令提取存档,如图所示:
10
分享到:
linux下如何修改用户权限,使每个用户有不同的功能其实一楼已经说得比较详细了 。我觉得你先弄清楚几个概念:操作系统用户、系统超级用户、系统普通用户、管理员角色、操作员角色、普通用户角色 。
1、首先前面三个是存在于unix或linux上的可用于登录的用户
2、后面三个是逻辑概念,对应到操作系统上可能有多个操作系统用户,比如“我”和“你”可以是管理员 , 可以同时拥有系统超级用户的密码 , 但是我们可能都不能直接用系统超级用户远程登录,需要“我”自己的系统用户远程登录后su到超级用户
3、默认系统超级用户可以对其他系统用户进行操作,所以“谁”作为管理员 , 有两层含义:1)谁拥有超级用户密码;2)他们是否拥有各自的系统用户用于su到超级用户
4、其他非系统超级用户均不能管理其他用户,所以你所说的“操作员”和“普通用户”在linux和unix上就是非系统超级用户 。
5、文件的权限靠用户owner和group进行限定和控制
因此你的需求是靠用户组和文件权限来控制,举个例子:
root是超级用户,组是system、dns
root可以作为管理员,该用户密码可以授权给管理员角色,管理员角色可以拥有一个操作系统用户,比如一个普通用户john,他的组是stuff)
普通用户bob 组是dns (可以作为操作员)
普通用户pop 组是stuff (可以作为你所说普通用户)
假如网元配置文件是dns.conf,它的权限是靠管理员角色(拥有john这个用户的人)进行设定的
他登录后进行设定:
$su - root
#chown root:dns dns.conf
#chmod 775 dns.conf
这样设定后,效果如下:
root用户,也即管理员可以修改该文件 , 可以管理用户bob和pop
bob用户,也即操作员,可以修改该文件 , 不可以管理root和pop用户,及其他所有用户
pop用户,也即普通用户 , 仅可以查看该文件,不可以管理用户root和bob用户,及其他所有用户
linux命令stuff的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、linux命令stuff的信息别忘了在本站进行查找喔 。

    推荐阅读