Linux系统基础——常用命令

Linux系统常用命令

特此说明: 刘超的趣谈linux操作系统是比较重要的参考资料,本文大部分内容和图片来源于这个专栏。

1 运行程序

通过命令行让Linux执行程序,有以下几种方式,也决定进程已什么方式运行。

1、交互式运行

$ ./filename  # 交互式运行,Ctrl+C可以结束这个在执行的进程

2、后台方式运行

# 脱离终端后台运行,并将log输出到xxx.outfile文件。
# nohup命令使终端关闭也不影响进程(进程正常是终端进程fork过来的,父进程挂起....), 2&>1表示将标准输出合并错误输出到xxx.outfile,&设置进程后台运行
$ nohup ./command > xxx.outfile 2&>1 &  		# 后台运行进程

# ps -ef |grep 关键字过滤出进程信息,通过awk '{print $2}'找出进程id,然后通过xargs命令传递给kill -9 ,最终干掉这个进程
ps -ef |grep 关键字 |awk '{print $2}'|xargs kill -9 			# kill 这个进程的方法

3、服务方式运行

#  systemctl工具管理服务
$ systemctl enable service-name
$ systemctl start service-name
$ systemctl stop service-name
.....

PS 一个小问题

Q: 后台运行的进程和服务都是可以脱离终端独立存在的,那么两者有什么区别呢?
A:查到 系统服务的概念,总结两点区别
1、服务是系统功能的进程;进程是用户的进程。
2、服务不会与用户交互,在后台默默运行(这点和后台进程一样)

2 安装软件

无论是Ubuntu系还是CentOS系的Linux发行版,总有几种安装软件的方式,下载安装包通过软件管家直接下载压缩包或者通过源码编译
1、下载安装包安装

$ dpkg -i xxxx.deb   # 如果是chentos的话,使用rpm命令

2、通过软件管家安装

$ apt-get install xxxx    # 如果是chentos的话,使用yum命令

3、下载压缩包安装

export PATH=XXX/bin:PATH 			#将可执行文件bin添加到PATH变量,可将这个命令配置在~/.bashrc文件,每次重启Linux加载这个文件

4、源码编译安装

# 对当前环境评估,--prefix指定安装路径
$ ./configure --prefix=/usr/local/program

# 编译生成安装包
$ make

# 安装软件
$ make install

3 管理进程

查看进程(静态)ps
查看进程树ptree
查看进程(动态)top
设置进程的优先级(启动前)nice -n ./test
调整进程优先级renice -n <进程PID>
设置进程为后台运行(启动前)./test &
调整前台进程为后台进程并挂起Ctrl +Z
调整后台进程为前台进程并执行step1: jobs
step2: fg <序号>
调整后台进程为后台进程并挂起step1: jobs
step2: bg <序号>
向进程发送信号 (立即杀死该进程)kill -9 <进程PID>
设置进程为后台运行,并且脱离当前终端(启动前)nohup ./test &

4 管理网络

查看网卡状态ifconfig
查看网关route -n
修改网络配置ifconfig <接口> <ip地址> [netmask <子网掩码>]
添加路由route del/add default gw <网关ip>
故障排查 - 目标主机是否畅通ping www.baidu.com
故障排查 - 数据包经过中间路由的状态traceroute -w 1 www.baidu.com
故障排查 - 数据包经过中间路由的状态(内容更加丰富)mtr
故障排查 - 查看dns解析nslookup www.baidu.com
故障排查 - 目标主机端口是否畅通telnet www.baidu.com 80
故障排查 - 网络抓包tcpdump -i any -n port 80 and host 10.0.0.1
故障排查 - 查看服务监听地址netstat -ntpl
查看网络管理服务systemctl list-unit-files NetworkManager.service
查看网卡配置文件NA
查看主机名配置文件/etc/hostname
查看主机名到网络地址映射文件(如果hostname发生改变)/etc/hosts

5 管理存储

查看内存(静态)free -m
查看内存(动态)top
查看磁盘分区fdisk -l
查看分区使用和挂载信息df -h <文件名>
查看文件占用(实际)du <文件名>
查看文件占用(实际+空洞)ls -lh <文件名>
复制和转换一个文件dd if=<输入文件> bs=4M count=10 of=<输出文件>
查看文件的inodels -i
创建符号链接文件(产生新的inode关联)ln -s <源文件> <目标文件>
创建硬链接文件(和原有的inode关联)ln <源文件> <目标文件>
获取文件ACL权限getfacl
设置文件ACL权限setfacl -m u:<用户名>:rwx <文件名>
setfacl -x u:<用户名> <文件名>
设置磁盘分区和格式化fdisk
mkfs
设置分区挂载到文件系统mount
/etc/fstab
设置磁盘阵列(RAID技术)mdadm

6 Shell脚本

1、编写

#! /bin/bash

xxxx

2、执行

# 启动子进程区执行
bash ./demo
./demo

# 当前进程下执行
source ./demo.sh
. demo.sh

9 References

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hinzer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值