linux使用命令的语句 linux中命令的用法

Linux命令 快照功能:记录当前的硬盘的状态 。刚建快照时快照占用内存为0,标记了当前硬盘的存储状态 。当虚拟机对快照标记的内容改写时,会将改写的内容存储进快照,与未改写的部分整合得到完整的快照 。当快照标记的部分被完全改写,那么快照存储空间完整记录了当时拍摄时的内存状态 。
参数形式
第一种:参数用一横的说明后面的参数是字符形式 。
第二种:参数用两横的说明后面的参数是单词形式 。
第三种:参数前有横的是 System V风格 。
第四种:参数前没有横的是 BSD风格 。
cat、more、less、head、tail命令的比较:
cat命令可以一次显示整个文件,如果文件比较大,使用不是很方便;
more命令可以让屏幕在显示满一屏幕时暂停 , 按空格往前翻页,按b往后翻页 。
less命令也可以分页显示文件,和more命令的区别就在于: 支持上下键卷动屏幕、查找;不需要在一开始就读取整个文件,打开大文件时比more、vim更快 。
head命令用于查看文件的前n行 。
tail命令用于查看文件的后n行 , 加上-f命令 , 查看在线日志非常方便,可以打印最新增加的日志 。
一般模式:
编辑模式:
命令模式:
编码
多行操作(列编辑模式)
插入:ctrl v进入列编辑模式,上下移动光标选择需要插入的位置,然后输入大写I,输入需要文本,最后按esc键退出,就会发现文本会在选择的多行中插入 。
删除:ctrl v进入列编辑模式,上下移动光标选中需要删除的部分,然后按d,就会删除选中的内容 。
①head:显示文件头部内容
②tail:输出文件尾部内容
注意:用vim和vi修改内容会删除源文件并生成新文件,所以tail -f会失效 。需要用到
追加和覆盖语句(或),才能被tail -f监视到 。
一般用于查看小文件
查看压缩文件中的文本内容
例:
①more:文件内容分屏查看器
②less:分屏显示文件内容 , 效率比more高
1、简单读取
运行脚本如下
测试结果为:
2、-p 参数,允许在 read 命令行中直接指定一个提示 。
运行脚本如下
测试结果为:
echo [选项] [输出内容](输出内容到控制台)
输出给定文本的sha256加密后的内容
①显示当前时间信息
②显示当前时间年月日
③显示当前时间年月日时分秒
④显示昨天
⑤显示明天时间
⑥显示上个月时间
需要注意的是取下个月的命令存在bug,执行如下命令会得到21-10,但是正常应该得到21-09,需要注意
date -d "2021-08-311 month"%y-%m
⑦修改系统时间
⑧获取当前时间戳
获取秒时间戳:date%s
获取毫秒时间戳:$[ (date%s%N) /1000000]
查看日历
(1)查看当前月的日历
(2)查看2017年的日历
例:
对比gzip/gunzip , zip/unzip可以压缩文件和目录且保留源文件 。
①zip:压缩
②unzip:解压缩
只能压缩文件不能压缩目录,不保留原来的文件 。
gzip 文件 (只能将文件压缩为*.gz文件)
gunzip 文件.gz(解压缩文件命令)
例: crontab -e
(1)进入crontab编辑界面 。会打开vim编辑你的工作 。
(2)每隔1分钟,向/root/bailongma.txt文件中添加一个11的数字
*/1 * * * * /bin/echo ”11”/root/bailongma.txt
(3)可以用tail-f目标文件来实施监控追加的内容
查看日志
可以用tail -f /var/log/cron.log观察
Cron表达式见文章:
ls [选项] [目录或是文件]
cd[参数]
例: cd-P$(dirname $p1) ; pwd先跳转到文件的所在目录,再打印$p1文件的实际路径
概述
①cp(copy):只能在本机中复制
②scp(secure copy):可以复制文件给远程主机
scp-rtest.shhxr@hadoop102:/root
③rsync(remote sync):功能与scp相同,但是不会改文件属性
rsync-avtest.shtest.shhxr@hadoop102:/root
④nc(netcat):监听端口,可以实现机器之间传输文件 。
nc -lk 7777 (-l表示listen,-k表示keep)
强制覆盖不提示的方法:\cp
例:scp-rtest.shhxr@bigdata1:/root
例:rsync-avtest.shhxr@bigdata1:/root
例:
nc -lp 10000nc_test.txt
nc -w 1 hadoop102nc_test.txt
远程登录时默认使用的私钥为~/.ssh/id_rsa
生成密钥对
将公钥发送到本机
将密钥发送到需要登录到本机的服务器上
修改密钥的权限
远程登陆
如果有多个节点需要远程登陆,可以在.ssh下创建config并输入
再次登陆
①正向代理:
②反向代理:
所谓“反向代理”就是让远端启动端口,把远端端口数据转发到本地 。
HostA 将自己可以访问的 HostB:PortB 暴露给外网服务器 HostC:PortC,在 HostA 上运行:
那么链接 HostC:PortC 就相当于链接 HostB:PortB 。
使用时需修改 HostC 的 /etc/ssh/sshd_config 的一条配置如下,不然启动的进程监听的ip地址为127.0.0.1,即只有本机可以访问该端口 。
相当于内网穿透,比如 HostA 和 HostB 是同一个内网下的两台可以互相访问的机器,HostC是外网跳板机,HostC不能访问 HostA,但是 HostA 可以访问 HostC 。
那么通过在内网 HostA 上运行ssh -R告诉 HostC,创建 PortC 端口监听,把该端口所有数据转发给我(HostA) , 我会再转发给同一个内网下的 HostB:PortB 。
同内网下的 HostA/HostB 也可以是同一台机器,换句话说就是 内网 HostA 把自己可以访问的端口暴露给了外网 HostC 。
例: 比如在我的内网机192.168.32.244上有一个RabbitMQ的客户端 , 端口号为15672 。现在我希望在外网上访问固定ip的云服务器chenjie.asia的6009端口,通过跳板机192.168.32.243来转发请求到192.168.32.244:15672,从而实现在外网访问内网服务的功能,即内网穿透 。
①在192.168.32.244上启动RabbitMQ服务
②将chenjie.asia云服务器的私钥复制到跳板机192.168.32.243的~/.ssh下,并重命名为id_rsa 。通过如下命令看是否可以远程登陆到云服务,可以登陆则进行下一步 。
③修改chenjie.asia服务器的ssh配置文件 /etc/ssh/sshd_config ,允许其他节点访问
然后重启sshd服务
④在跳板机192.168.32.243启动ssh反向代理
这个进程在关闭session时会停止,可以添加启动参数-CPfN
例:
以 root 身份执行的程序有了所有特权,这会带来安全风险 。Kernel 从 2.2 版本开始 , 提供了 Capabilities 功能,它把特权划分成不同单元,可以只授权程序所需的权限 , 而非所有特权 。
例如:linux不允许非root账号只用1024以下的端口,使用root启动命令nginx,会导致nginx权限过高太危险 。所以用setcap命令
sudo setcap cap_net_bind_service= eip /bigdata/nginx/sbin/nginx
正确的关机流程为 :syncshutdownreboothalt
(1)sync(功能描述:将数据由内存同步到硬盘中)
(2)halt(功能描述:关闭系统,等同于shutdown -h now 和 poweroff)
(3)reboot(功能描述:就是重启,等同于 shutdown -r now)
(4)shutdown [选项] [时间]
安装
yum install -y telnet-server telnet
ls -i显示文件的节点号
find -inum 节点号 -delete删除指定的节点即可删除对应的文件
启动一个服务: systemctl start postfix.service
关闭一个服务: systemctl stop postfix.service
重启一个服务: systemctl restart postfix.service
显示一个服务的状态: systemctl status postfix.service
在开机时启用一个服务: systemctl enable postfix.service
在开机时禁用一个服务: systemctl disable postfix.service
注:在enable的时候会打印出来该启动文件的位置
列出所有已经安装的服务及状态:
systemctl list-units
systemctl list-unit-files
查看服务列表状态:
systemctl list-units --type=service
查看服务是否开机启动:systemctl is-enabled postfix.service
查看已启动的服务列表:systemctl list-unit-files | grep enabled
查看启动失败的服务列表:systemctl --failed
查看服务日志: journalctl -u postfix -n 10 -f
命令类似systemctl , 用于操作native service 。
添加脚本为服务(需要指定启动级别和优先级): chkconfig --add [脚本]
删除服务: chkconfig --del [脚本]
单独查看某一服务是否开机启动的命令 : chkconfig --list [服务名]
单独开启某一服务的命令 : chkconfig [服务名] on
单独关闭某一服务的命令: chkconfig [服务名] off
查看某一服务的状态: /etc/intd.d/[服务名] status
启用服务就是在当前"runlevel"的配置文件目录/etc/systemd/system/multi-user.target.wants 里,建立 /usr/lib/systemd/system 里面对应服务配置文件的软链接;禁用服务就是删除此软链接,添加服务就是添加软连接 。
su 用户名称(切换用户,只能获得用户的执行权限,不能获得环境变量)
su - 用户名称(切换到用户并获得该用户的环境变量及执行权限)
echo$PATH打印环境变量
设置普通用户具有root权限
修改 /etc/sudoers 文件,找到下面一行(91行) , 在root下面添加一行 , 如下所示:
或者配置成采用sudo命令时,不需要输入密码
修改完毕,现在可以用hxr 帐号登录,然后用命令 sudo ,即可获得root权限进行操作 。
以azkaban用户执行引号中的命令
gpasswd -d [username] [groupname]将用户从组中删除
gpasswd -a [username] [groupname]将用户加入到组中
用户组的管理涉及用户组的添加、删除和修改 。组的增加、删除和修改实际上就是对/etc/group文件的更新 。
0首位表示类型- 代表文件d 代表目录l 链接文档(link file)
三种特殊权限suid、sgid、sticky
例子:
变更文件权限方式一
例:chmod u-x,o x houge.txt
变更文件权限方式二
例:chmod-R777/mnt/修改整个文件夹的文件权限
在linux中创建文件或者目录会有一个默认权限的,这个默认权限是由umask决定的(默认为0022) 。umask设置的是权限的“补码”,而我们常用chmod设置的是文件权限码 。一般在/etc/profile 、~/.bashprofile 或者 ~/.profile中设置umask值 。
umask计算
如root用户的默认umask为0022(第一个0 代表特殊权限位,这里先不考虑),创建的文件默认权限是644(即默认666掩上umask的022) , 创建的目录是755(即默认777掩上umask的022) 。
对于root用户的umask=022这个来说 , 777权限二进制码就是(111)(111)(111),022权限二进制码为(000)(010)(010) 。
上面就是一个umask的正常计算过程,但是这样实在是太麻烦了 。我们使用如下的简单的方法快速计算 。
上面的这个方法计算是非常方便的 , 为何得到奇数要 1呢?
文件的最大权限是666 , 都是偶数,你得到奇数,说明你的umask有奇数啊 , 读为4,写为2,都是偶数,说明你有执行权限的 。
就按照上面的umask=023为例,在计算其他用户权限的时候6-3=3 , 6是读写 , 3是写和执行 , 其实应该是读写权限减去读权限的得到写权限的,相当于我们多减去了一个执行权限 。所以结果加1 。
umask修改
如果想单独修改某个文件夹的新建文件的权限,可以使用setfacl命令 。
例:递归改变文件所有者和所有组 chown-Rhxr:hxr/mnt
例:
linux awk命令怎么用?linux awk命令怎么用?awk:用于一行中分成数个“栏位”来处理 。适合处理 小型资料 。
执行模式:awk '条件型别1{动作1} 条件型别2{动作2} ...' filename
# last | awk '{print $1 "\t" $3}' == 检视登入者的资料,只显示登入名和ip地址,并以[tab]隔开
awk 的内建变数
变数名称 代表的含义
NF 每一行($0)拥有的栏位总数
NR 当前 awk 所处理的是 “第几行” 资料
FS 当前分隔符,预设空格键
awk 的逻辑运算子
运算单元 代表含义
大于
小于
= 大于或等于
= 小于或等于
== 等于
!= 不等于
范例:
cat /etc/passwd | awk '{FS=":"} $310 {print $1 "\t" $3}' == 档案/etc/passwd是以":"分隔的 , 检视第三栏小于10的资料,并且只显示帐号与第三栏
以上是我对awk的总结,希望对你有帮助 , 是我写的哦 , 不是复制的 。
linux 怎么用awk命令 取出一段文字
awk '/DIMENSION NAME="CCCCCC" SRC_TYPE="INTERNAL"/,/DIMENSIONS/ {print $0}' filename
Linux awk命令问题
head -n 3 /etc/passwd|awk -F ':' '$1="root"' 这里$1="root",表示将第1列的值赋值为root , 因此上述命令表示:将/etc/passwd中前3行按照‘:’分隔后第一列以root显示 , 并列印其他列 。
awk -F ':' '$3=="0"' /etc/passwd
这里$3=="0",表示将第三列与"0”进行匹配 , 以什么方式匹配呢?以‘:’分隔后的第三列进行匹配并列印 。这里是匹配列印,所以列印的是匹配的那一行(被:分隔后),而不是显示分隔后的列 。
所以,区别在于一个是分隔后赋值列印分隔后列的值,一个是按照指定分隔方式进行匹配找到匹配的行,列印的是匹配的那一行 。
linux的awk命令问题
一行里 第一个元素和第三个元素
linux下 awk命令问题
1、其实这样基本满足要求 。但是确实不够严谨 。试试是否可以 。
ps -le | grep sshd | awk '{print $4}'
2、对ps 命令用的最多的是ps -ef 对el 我不是很了解具体输出什么 。当然,是不是你压根就没有这个sshd服务启动 。这些都先验证一下 。一步一步的输出,看看问题出现在管道的哪一个环节 。
3、或者这个 $14==sshd 栏位你指定错了 。awk $指定的变数是从1 开始的 。$0是整个行 。这个不要忘记了哦 。
如果上述1第一种情况可以输出,第二种2不可以话,可能就验证了我的假设 。你栏位拆解出现错误 。把$14 这个栏位好好看看 。
linux awk命令基础 怎么在终端写
awk一般用于文字处理,通常用作资料提取 。终端书写demo
awk'{print }' info.txt
以上是输出文字档案info.txt的所有内容,请使用实际档案进行替换info.txt
ps -ef|grep process_name| awk -F"" '{print $2}'
以上是查询process_name程序的ID资讯,把查询资讯作为引数传给awk进行过滤,请使用实际程序名替换process_name 。
awk命令在 linux和aix下的区别
三种呼叫awk的命令方式:
1.命令列方式:awk [-F field-separator] 'mands' input-file(s)
-F选项可?。篴wk -F: 'mands' input-file
2.将所有的awk命令插入一个档案 , 并是awk程式可执行,然后用awk命令直译器作为指令码的首行,
以便通过键入指令码名称来呼叫它 。
3.将所有的awk命令插入一个单独档案,然后呼叫:
awk -f awk-script-file input-files(s)
-f:指明在档案awk-script-file中的awk指令码
input-file(s):使用awk进行浏览的档名 。
awk指令码
在命令中呼叫awk时,awk指令码由各种操作和模式组成 。
-F,awk每次读一条记录或一行,并使用指定的分隔符分分隔指定域;
所没分隔符,则使用空格 。
任何awk语句都由模式和动作组成
模式,决定动作语句何时触发及触发事件,若忽略模式部分,动作将时刻保持执行状态 。
模式,可是任何条件语句,或符合语句,或正则表示式 。
BEGIN:设定计数,列印头,在任何文字浏览动作之前;
END:用来在awk完成档案浏览动作后列印输出档案总数和结尾状态标志 。
动作,在{}内指定;大多用来列?。焕锩婵砂篿f , looping,回圈推出结构;
若不指明采取动作,awk将列印所有浏览出来的记录 。
如何在Linux中使用awk命令
awk例项
1、cat /etc/passwd|awk -F: '{print $1}'
2、linux的awk一般都是gawk,/bin/awk - gawk
3、awk ‘/abc/’ file.txt 显示档案中包含abc行 。类似grep abc a.txt
4、awk ‘{print NR,NF,$1,$NF,}’ file.txt按空格分隔列,显示当前记录号、域数和每一行的第一列和最后一列 。
-F引数可以设定分割引数,例如按:分割
awk -F: ‘{print $1}’ /etc/passwd
或者cat file|awk -F “|” ‘{print $1}’
5、awk程式语言
cat v.txt|awk ‘{print length($1)}’
6、awk中使用NR和FNR,一般在awk处理多个档案时,NR==FNR才有意义
NF 当前记录中的栏位数 。
NR 当前记录数 。
FNR同NR,但相对于当前档案 。
awk ‘{print NR,FNR}’ test.txt test2.txt
awk ‘{if(NR==FNR){a[FNR]=$1;}else{print $1,a[FNR]}}’ b.txt a.txt
7、列印奇数行与偶数行
awk ‘NR%2’ test.txt
awk ‘!(NR%2)’ test.txt
8、杀死tomcat的s.sh指令码
#!/bin/sh
ps -ef| grep tomcat |grep -v grep | awk ‘{print $2}’ |xargs kill -9
9、列印前7列
cat a.txt|awk ‘{NF=7}1’b.txt
tail -f aess.log|awk ‘NF=7′ OFS=’\t’b.txt
cut -d”,” -f3-6 urfile
LINUX系统怎么使用awk命令实现下述操作
cat file|awk -F"name=" '{print $2}'|awk -F\" '{print $1}'
试试看,第二个”的转义,我没测试,可以自己调下
常用linux语句1)使用less [file] 命令查看
2)[g] 跳到文件头
3)[G] 跳到文件尾部
4)[/] 向下查找
5)[?] 向上查找
6)[n] 查找后找下一个
7)[N] 查找后找上一个
8)[b] 向上翻页
9)[d] 向下翻页
10)[ctrl c]打断当前操作
11)\qq!退出当前操作
12)cd ..是返回上一层目录linux使用命令的语句,cd -是返回到上一次linux使用命令的语句的工作目录
如果当前目录是 /usr/local
再执行cd ..就是到 /usr
而执行cd -就是到/
13)tail -f
14)ctrl c退出tail
15)exit退出当前登陆linux使用命令的语句的用户名
16)less 进入文件
17)ll 展开
18)vim 编辑
19)alias 设置别名
20)cat 将某个文档中的内容显示出来
21)创建文件
touch 创建二进制文件mkdir 创建文件夹vi 创建文件
22)grep 检索目标行命令
23)sudo su root 切换用户
24)chmod 777修改权限
chown www-datalinux使用命令的语句:www-data 修改所属用户和分组
linux系统关机命令Linux系统中linux使用命令的语句我们一般使用如下四种方式来进行关机linux使用命令的语句 , 具体如下linux使用命令的语句:
1、shutdown命令
shutdown命令用于安全关闭Linux系统 。
执行shutdown命令时linux使用命令的语句,系统会通知所有登录的用户系统将要关闭linux使用命令的语句,并且login指令会被冻结,即新的用户不能再登录系统 。使用shutdown命令可以直接关闭系统 , 也可以延迟指定的时间再关闭系统 , 还可以重新启动 。延迟指定的时间再关闭系统,可以让用户有时间储存当前正在处理的文件和关闭已经打开的程序 。
shutdown命令的部分参数如下:
[-t] 指定在多长时间之后关闭系统
[-r] 重启系统
[-k] 并不真正关机,只是给每个登录用户发送警告信号
[-h] 关闭系统
2、halt命令
halt是最简单的关机命令,其实际上是调用shutdown -h命令 。halt执行时,杀死应用进程 , 文件系统写操作完成后就会停止内核 。
halt命令的部分参数如下:
[-f] 没有调用shutdown而强制关机或重启
[-i] 关机或重新启动之前,关掉所有的网络接口
[-p] 关机时调用poweroff,此选项为缺省选项
3、reboot命令
reboot的工作过程与halt类似,其作用是重新启动,而halt是关机 。其参数也与halt类似 。
4、init命令
init是所有进程的祖先,其进程号始终为1 。init用于切换系统的运行级别,切换的工作是立即完成的 。init
0命令用于立即将系统运行级别切换为0 , 即关机;init 6命令用于将系统运行级别切换为6,即重新启动 。
Linux中如何查看目录?命令是什么?我们都知道Linux是一个操作系统 , 与Windows系统不同的是,Linux是由各种命令形成的,因此命令的掌握程度可谓是至关重要,你知道Linux系统中的进入目录的相关命令是什么吗?如果你还不清楚,请看下文:
Linux cd命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用cd命令上的 。
所以学习Linux常用命令,首先就要学好cd命令的使用方法技巧 。
命令格式为:cd [dirName]dirName:要切换的目标目录 。
命令功能为:切换当前目录至dirName 。
dirName表示法可为绝对路径或相对路径 , 若目录名称省略,则变换至使用者的home目录(也就是刚login时所在的目录) 。
另外,~也表示为home目录的意思,.则是表示目前所在的目录 , ..则表示目前目录位置的上一层目录 。
命令用法如下:
1、不加参数时,默认切换到用户主目录;
2、接绝对路径或相对路径,切换到对应目录;
3、接特殊符号 , 进入到对应表示目录
特殊符号有:
~:进入用户主目录;
-:返回进入此目录之前所在的目录;
..:返回上级目录;
../..:返回上两级目录;
!$:把上个命令的参数作为cd参数使用
【linux使用命令的语句 linux中命令的用法】linux使用命令的语句的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux中命令的用法、linux使用命令的语句的信息别忘了在本站进行查找喔 。

    推荐阅读