Linux常用命令

1.查看系统版本

uname -a 
Ubuntu默认的包管理器为apt,而yum是fedora,redhat的包管理器。

2.使用du命令通过文件大小进行排序

du -h --max-depth=1 | sort -hr
参数说明:
--max-depth:表示要查看几层目录, 也可以用 -d 1表示查看1层目录
sort -r:反向显示
sort -h:compare human readable numbers (e.g., 2k 1G)
 
注意:
1. 在有些情况下,du -h不能显示所有的文件,例如iso文件,通用的方法为 du -h * | sort -hr
2. du -sh .     表示查看当前目录总占用空间

3.Linux中 ' ' 和  " " 和 ` `的区别

'' : 去掉 所有符号的特殊含义。

"" : 不去掉符号的特殊含义。

` `:反引号``是命令替换,命令替换是指Shell可以先执行``中的命令,将输出结果暂时保存,在适当的地方输出。语法:`command`

${}获取变量的值 省略{}可能会导致字段边界模糊的问题 eg: echo ${a} 

4.grep和xargs

xargs可以读取标准输入和管道中的数据,用于弥补有些命令(如echo、kill、rm)不能从管道中读取数据的不足。

5.Windows编写的shell脚本修改文本格式为unix

vim .sh
:set ff=unix
:wq

修改文本格式为unix才能执行。

6.cut命令详解

6.1 基本语法

cut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。

cut [选项参数]  filename

说明:默认分隔符是制表符。

选项与参数:

-d:分隔符,按照指定分隔符分割列。与 -f 一起使用

-f:依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思(列号,提取第几列)

-c:以字符 (characters) 的单位取出固定字符区间

-b:以字节为单位进行分割

6.2 实操案例

#切割cut.txt第一列
cut -d ' ' -f 1 cut.txt 

#切割cut.txt第二、三列
cut -d ' ' -f 2,3 cut.txt 

#切割cut.txt的第5-8个字符
cut -c 5-8 cut.txt

#切割cut.txt的第2,4,6个字节
cut -b 2,4,6 cut.txt

#切割cut.txt的第6个字节以前的内容
cut -b -6 cut.txt

#切割字符串中的汉字 对于汉字的切割最好使用-c(字符),字节(-b)无法满足要求。
echo "我 爱 你 中 国" | cut -d ' ' -f -2

#选取系统PATH变量值,第1个“:”开始后的所有路径:
echo $PATH | cut -d: -f 2-

7.端口 防火墙 串口

7.1 Ubuntu

 7.1.1 查看开启的Ubuntu 端口

lsof -i:端口号    如果没有任何输出就说明没有开启该端口号
netstat -aptn     查看所有开启的端口号
netstat -nupl     查看系统中所有使用udp协议的端口号
netstat -ntpl     查看系统中使用tcp协议的端口号信息
Telnet ip 端口号   客户机测试连接端口号

7.1.2 防火墙

sudo ufw status       查看防火墙状态
sudo ufw disable      关闭防火墙
sudo ufw enable       打开防火墙
sudo ufw allow 端口号  开放端口
sudo ufw deny 端口号   关闭端口
sudo ufw reload        重启防火墙

7.1.3 查看串口

ls -l /dev/ttyS*
ls -l /dev/ttyUSB*

7.2 Centos

7.2.1 防火墙

systemctl status firewalld   查看防火墙状态

firewall-cmd --list-ports    检查防火墙已打开的端口

systemctl start firewalld    启动防火墙

systemctl enable firewalld   设置防火墙开机自启

systemctl stop firewalld     停止防火墙

systemctl disable firewalld  禁止防火墙开机自启

8.shell

8.1 sh和bash和./直接执行

sh

sh(Bourne Shell)是一个早期的重要shell,1978年由史蒂夫·伯恩编写,并同Version 7 Unix一起发布。

在一般的linux系统当中(如redhat,centos),使用sh调用执行脚本相当于打开了bash的POSIX标准模式(等效于bash的 --posix 参数)一般的,sh是bash的“子集”

sh 遵循POSIX规范:“当某行代码出错时,不继续往下解释”。bash 就算出错,也会继续向下执行。

 bash

bash(Bourne-Again Shell)是一个为GNU计划编写的Unix shell。1987年由布莱恩·福克斯创造。主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,是各种Linux发行版标准配置的Shell,在Linux系统上/bin/sh往往是指向/bin/bash的符号链接。/bin/sh 虽然是/bin/bash的软连接,但这个软连接很特殊,它并不仅仅只是一个链接,sh不等于bash,使用sh a.sh的效果等同于bash -posix a.sh。

例如:不使用posix模式的情况下 a.sh脚本中的source b.sh不会出错,因为即使在PATH中找不到,也会在当前目录中进行查找。但如果使用了posix模式,如果在PATH中无法找到,将不会在当前目录自动进行查找。

./直接执行

查找脚本第一行是否指定了解释器,如果没指定,那么就用当前系统默认的shell(大多数linux默认是bash),如果指定了解释器,那么就将该脚本交给指定的解释器

使用“./”执行脚本,对应的xxx.sh脚本必须要有执行权限

 8.2 交互式shell和非交互式shell、登录shell和非登录shell

登陆shell

用户登陆时,输入用户名和密码登陆的shell,或bash --login命令打开的shell

登陆时读取并执行/etc/profile·和~/.bash_profile、~/.bash_login、~/.profile中第一个存在的文件,通常这三个文件中会source ~/.bashrc。登出时执行~/.bash_logout

非登陆shell 

用户登陆时不需要系统认证打开的shell,或bash命令打开的shell

登陆时读取并执行~/.bashrc

bash [长选项] [选项] [脚本]

-i    shell在交互模式下运行
-l    shell作为登陆shell
-r    启动受限shell
--    选项结束标志,后面的内容当做文件名或参数,即使他们以-开头
--login    同-l
--noprofile    阻止读取初始化文件/etc/profile、~/.bash_profile、~/.bash_login、~/.profile
--norc    在交互式shell,阻止读取初始化文件~/.bashrc。如果shell以sh调用的话,该选项默认是打开的。
--recfile file    在交互式shell,指定初始化文件是file而不是~/.bashrc
--version    版本信息

bash
1、交互式的登录shell (bash –il test.sh)
载入的信息:
/etc/profile 以下三个文件只读取找到的一个
~/.bash_profile( -> ~/.bashrc -> /etc/bashrc)
~/.bash_login
~/.profile


2、非交互式的登录shell (bash –l test.sh)
载入的信息:
/etc/profile
~/.bash_profile ( -> ~/.bashrc -> /etc/bashrc)
~/.bash_login
~/.profile
$BASH_ENV


3、交互式的非登录shell (bash –i test.sh)
载入的信息:
~/.bashrc ( -> /etc/bashrc)


4、非交互式的非登录shell (bash test.sh)
载入的信息:
$BASH_ENV


sh
1、交互式的登录shell (sh –il test.sh)
载入的信息:
/etc/profile
~/.profile


2、非交互式的登录shell (sh –l test.sh)
载入的信息:
/etc/profile
~/.profile


3、交互式的非登录shell (sh –i test.sh)
载入的信息:
$ENV


4、非交互式的非登录shell (sh test.sh)
载入的信息:
nothing

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值