linux常用命令

linux常用命令

  1. date:查看系统日期
  2. cal : 打出日历
    cal 2020:查看2020年的所有日历
    cal 1 2020 (查看2020年1月份的日历)
  3. pwd: 查看当前所在目录
  4. cd / —跳到根目录
  5. ls —查看当前目录下的文件
    ls -l
  6. cd … 退回上一层
  7. mkdir/rmdir :新建/删除文件夹
  8. touch/rm : 新建/删除文件
    touch修改文件的时间属性为当前系统时间,若文件不存在则新建
  9. cp src.txt dest.txt 复制文件
  10. cat file1.txt 从第一行查看文件内容
  11. tac file1.txt从最后一行开始显示文件内容
  12. nl file1.txt 显示行号
  13. diff file1.txt file2.txt :查看两个文件的差异
  14. head file1.txt -n 5 :查看file1的前5行
  15. tail file1.txt -n 5:查看file1的最后5行
  16. wc(word count):查看文件有多少单词
    wc test.py
    178 225 1836 test.py
    178----178行
    225—一共有225个单词
    1836----一共有多少个字符
    wc -w test.py -----只看到有多少个单词
    wc -l test.py —只看有多少行
    wc -c test.py ----只看有多少个字符
  17. rm file删除文件:
    rm -r删除目录
  18. mv (1)修改文件名
    (2)剪切
  19. more/less file: (点q退出)一页页显示文件内容,less比more好的地方在于,less可以往前翻页。
  20. chmod : u g o 更改文件权限
  21. chown: 将指定文件的拥有者改为指定的用户或组
  22. find:在文件树中查找文件。
find -atime -2//查找48小时内修改过的文件
find -name '*.log'
find -size +1000c查找大于1k的文件
  1. grep word1 file.txt 查看file中包含word1

  2. grep i* file.txt *表示出现0-多次的

  3. grep ii* file.txt i至少出现一次的

  4. grep ^H file.txt 以H开头的单词

  5. grep ^Ho file.txt 以Ho开头的单词

  6. grep H.ll file.txt

  7. grep [Hh]ill city.txt Hill或hill

  8. grep [A-Za-z]ill city.txt

  9. grep [A-Za-z]ill city.txt | wc 把前面的搜索结果放到wc中进行统计

  10. ls > 1.txt 把ls的结果放到1.txt

  11. zip 压缩:
    zip CProgram.zip * 星号表示压缩当前目录所有文件
    zip learn.zip -r learn/* -r表示把文件夹中的所有文件夹递归压缩

  12. unzip learn.zip

  13. 压缩:tar -zcvf learn.tar.gz learn/ 不需要写星号
    z 使用gzip压缩
    c 打包文件
    v 显示压缩过程
    f 指定文件名

  14. tar -zxvf learn.tar.gz -----解压缩 -x代表解压
    tar -zxvf lear.tar.gz -C /usr -C代表指定解压位置

  15. 下载:wget https://curl.haxx.se/download/curl-7.47.q.tar.gz -O myname.tar.gz (重命名用-O)

  16. grep
    -i 忽略大小写
    -n 输出行号
    -r 递归目录中的所有文件
    -w 匹配全词
    -c 显示有多少行被匹配了
    -v(invert) 显示没有被匹配的内容
    位置锚定:
    ^ :锚定行首
    $ :锚定行尾。技巧:"^$“用于匹配空白行。
    \b或<:锚定单词的词首。如”\blike"不会匹配alike,但是会匹配liker
    \b或>:锚定单词的词尾。如"\blike\b"不会匹配alike和liker,只会匹配like
    \B :与\b作用相反。

  17. 查看磁盘空间:
    du -sh 查看文件和目录磁盘使用的空间。
    df -h 查看磁盘各分区大小,已用空间。

  18. 查看进程号:
    ps
    a 显示所有进程
    u 指定用户的所有进程
    -aux 显示所有包含其他使用者的行程
    -e 等于“-A”
    e 显示环境变量
    f 显示程序间的关系
    -ef 显示所有进程信息,连同命令行
    ps 与grep 常用组合用法,查找特定进程
    ps aux | more 可以用 | 管道和 more 连接起来分页查看
    ps aux > 1.txt 把所有进程显示出来,并输出到1.txt文件
    linux上进程有5种状态:
    R:运行(正在运行或在运行队列中等待)
    S:中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
    D:不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
    Z:僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
    T:停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

  19. top:显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等

  20. yum :提供了查找、安装、删除某一个、一组甚至全部软件包的命令
    列出所有可更新的软件清单命令:yum check-update
    更新所有软件命令:yum update
    仅安装指定的软件命令:yum install <package_name>
    仅更新指定的软件命令:yum update <package_name>
    列出所有可安裝的软件清单命令:yum list
    删除软件包命令:yum remove <package_name>
    查找软件包 命令:yum search
    清除缓存命令:
    yum clean packages: 清除缓存目录下的软件包
    yum clean headers: 清除缓存目录下的 headers
    yum clean oldheaders: 清除缓存目录下旧的 headers
    yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的headers

  21. ln命令:
    功能是为文件在另外一个位置建立一个同步的链接,当在不同目录需要该问题时,就不需要为每一个目录创建同样的文件,通过 ln 创建的链接(link)减少磁盘占用量。

链接分类:软件链接及硬链接
软链接:
1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
2.软链接可以 跨文件系统 ,硬链接不可以
3.软链接可以对一个不存在的文件名进行链接
4.软链接可以对目录进行链接

硬链接:
1.硬链接,以文件副本的形式存在。但不占用实际空间。
2.不允许给目录创建硬链接
3.硬链接只有在同一个文件系统中才能创建

网络通讯命令:

ifconfig命令:查看(ifconfig -a)和配置linux的网络接口(ifconfig eth0 up/down)
iptables:配置 Linux 内核防火墙的命令行工具。开启 80 端口,因为web对外都是这个端口:iptables -A INPUT -p tcp --dport 80 -j ACCEP
netstat:用于显示网络状态。统计当前进程连接数:netstat -an | grep ESTABLISHED | wc -l
-antup:
a:显示本机所有连接和监听的端口
n:不解析域名
t:显示tcp
u:显示udp
p:显示对应的PID和程序名

ping:用于检测主机。会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
telnet:用于远端登入。

free:显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。

Linux 的目录结构是怎样的?

常见目录说明:

/bin: 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里;
/etc: 存放系统管理和配置文件;
/home: 存放所有用户文件的根目录,是用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示;
**/usr **: 用于存放系统应用程序;
/opt: 额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把tomcat等都安装到这里;
/proc: 虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;
/root: 超级用户(系统管理员)的主目录(特权阶级o);
/sbin: 存放二进制可执行文件,只有root才能访问。这里存放的是系统管理员使用的系统级别的管理命令和程序。如ifconfig等;
/dev: 用于存放设备文件;
/mnt: 系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;
/boot: 存放用于系统引导时使用的各种文件;
**/lib **: 存放着和系统运行相关的库文件 ;
/tmp: 用于存放各种临时文件,是公用的临时文件存储点;
/var: 用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等。)等;
/lost+found: 这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows下叫什么.chk)就在这里。

shell脚本

  1. sh test.sh
  2. 变量:赋值时不能写$,使用时必须写$
a=10  不能有空格
echo $a
a=10
b=20
c=`expr $a + $b`   +需要加空格
echo $c
a=10
b=20
c=`expr $a \* $b`   *需要加转移字符 \(\)括号也需要转移字符
echo $c
  1. if []
    then
    else
    fi
    注意:shell 中数据的大于小于不是<>
    -ne 不等于
    -gt 大于
    -lt 小于
    -ge 大于等于
    -le 小于等于
    -eq 等于
a=5
b=35
if [ $a -gt $b ]
then
	echo $a
else
	echo $b
fi
  1. for x in 1 2 3 4
    do
    done
for x in 1 2 3 4 5 6 7 8 9 10
do
	echo $x
done
  1. while [条件]
    do
    done
x=1
while [ $x -le 10 ]   --[]两边必须有空格
do
	echo $x
	x=`expr $x + 1`   ---不能用x++
done
  1. 字符串:
a="hello"
b="world"

echo $a$b   注意这里会打印出helloworld
echo $a $b   注意这里会打印出hello world
echo "$a $b"   注意这里会打印出"hello world"
echo "Please enter a:"
read a

echo "Please enter b:"
read b

c=`expr $a + $b`
echo $a + $b = $c
password="hello123"

echo "Please enter password:"
read userPassword

if [ $password = $userPassword ]  ----(1)字符串是否相等用= (2)不相等用!=
then
	echo "密码正确!"
else
	echo "密码错误!"
fi
str1="hello"
str2="world"

str3="$str1 $str2"    字符串拼接
echo $str3

判断一个字符串是否为空:-z -n

str1=""
if [ -z $str1 ]
then
	echo "str1 is empty"
else
	echo "str1 is not empty"
fi
str1=""
if [ -n $str1 ]
then
	echo "str1 is not empty"
else
	echo "str1 is empty"
fi
  1. 数组
arr=(7 8 9 10)

运行时不能用sh,必须用bash
如果代码中有数组必须用bash

arr=(7 8 9 10)

sum=0
for i in ${arr[@]}   ----i为数组中的值,并不是下标
do
	sum=`expr $sum + $i`
    echo $i
done

echo $sum   求和

echo ${arr[1]}----打印出数组下标为1的值

找出数组中的最大值:

arr=(7 8 9 10)

max=${arr[0]}
for i in ${arr[@]}
do
	if [ $max -lt $i ]
	then
		max=$i
	fi
done

echo $max

linux全局变量

USER: 当前登录系统的用户名

lyl@lyl:~/learn/linux/test$ echo $USER
lyl

HOME: 当前用户的主目录
windows在C:\users\用户名

lyl@lyl:~/learn/linux/test$ echo $HOME
/home/lyl

进入主目录:
cd $HOME
cd ~

PATH: 环境变量
在/lyl/learn/linux/test/ 新增一个可执行文件example
但是只能在该目录下执行,此时要把这个路径添加到环境变量下,就可以在其他路径运行这个可执行文件了。
PATH=$PATH:/home/lyl/learn/linux/test/

每个路径中间都是用:隔开的。windows中是用;隔开的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值