linux通识命令

IT这行,主要就跟三个软件打交道,浏览器,编辑器,操作系统,服务器使用的操作系统一般以linux和类unix系统为主,命令行程序作为管理linux资源的利器,不了解下岂不可惜,这里总结下常用的linux命令,不以会linux命令而学linux命令,而是有目的性的熟悉常用的,方便解决问题并提高工作效率的命令

通识篇

alias : 定义或显示别名

  • 命令行命名定制化工具,比如我觉得每次输入 ps -ef太麻烦,就可以将其定义为pe,手懒,少输入好几个字符呢,如下
	alias pe="ps -ef"

直接在shell里设定的命令别名,在终端关闭或者系统重新启动后都会失效,使用编辑器打开~/.bashrc,保存后执行source ~/.bashrc

arch: 显示当前主机的硬件架构类型

  • 一般通过网络下载某些安装包的时候,会有多种后缀的包可以选择,i386、i486、i586等等,如果不清楚自己的服务器属于哪种,可以通过arch查看,如下
	arch
	x86_64

cd :切换用户当前工作目录

  • 嗯,就是切换用户当前工作目录

cat: 连接多个文件并打印到标准输出

  • 从解释也可以看出,两个动作,连接多个文件 并且 打印到标准输出,不过一般都是cat 一个文件,除非多个小文件,内容都很少,一两屏放的下,可以cat 多个,如下
	cat yarn.lock y.pub

cp:将源文件或目录复制到目标文件或目录中

  • cp 是一个多参的命令,具体还是看文档,常用 -f ,-r ,如下 强行复制文件
 	cp -f yarn.lock ./yarn.lock1 

chmod: 变更文件或目录的权限,多参数(权限管理详见

  • 脚本写完了,赋予可执行权限 / 或者改变用户对文件的读写权限,常见错误Permission denied
  • 通过符号更改权限 chmod u=rwx, g=rw, o=r ./test.log
  • 通过八进制更改权限 chmod 754 ./test.log
  • 通过指定文件更改权限(不知道该给啥权限的时候,可以偷懒这样弄,但不推荐) chmod --reference=./1.log ./test.log

chown:用来变更文件或目录的拥有者或所属群组

  • 很多人分不清chown和chmod,主要还是对linux权限模型不熟悉
  • chmod 是改变当前用户对文件的操作权限
  • chown 是改变文件的用户和组属性
  • 如下,递归修改/data/forge/下文件和目录的用户属性为admin,组属性为admin
	chown -R admin:admin /data/forge/

df:显示磁盘的相关信息

  • 主要用来查看磁盘使用情况,常见错误No space left on device,不加监控,把资源耗尽都不知道
  • 常用如下
	df -h
	Filesystem      Size  Used Avail Use% Mounted on
	udev            2.0G  4.0K  2.0G   1% /dev
	tmpfs           396M  412K  395M   1% /run
	/dev/vda1        40G  8.4G   29G  23% /
	none            4.0K     0  4.0K   0% /sys/fs/cgroup
	none            5.0M     0  5.0M   0% /run/lock
	none            2.0G     0  2.0G   0% /run/shm
	none            100M     0  100M   0% /run/user
	/dev/vdb1       197G  3.9G  183G   3% /data

du:显示每个文件和目录的磁盘使用空间

  • df是以磁盘为主体,全局查看,du是以文件为主体,查看文件对磁盘的占用情况
  • 常用如下,查看当前目录磁盘使用情况
	du -sh
	3.6G	.

dig:域名查询工具

  • 查看域名解析的详细信息
  • 常用如下
	dig www.baidu.com
	
	; <<>> DiG 9.9.5-3ubuntu0.7-Ubuntu <<>> www.baidu.com
	;; global options: +cmd
	;; Got answer:
	;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38224
	;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0
	
	;; QUESTION SECTION:
	;www.baidu.com.			IN	A
	
	;; ANSWER SECTION:
	www.baidu.com.		160	IN	CNAME	www.a.shifen.com.
	www.a.shifen.com.	148	IN	A	180.101.49.12
	www.a.shifen.com.	148	IN	A	180.101.49.11
	
	;; Query time: 2 msec
	;; SERVER: 100.100.2.136#53(100.100.2.136)
	;; WHEN: Sat Dec 07 16:52:47 CST 2019
	;; MSG SIZE  rcvd: 90

echo:输出指定的字符串或者变量

  • 常用如下,查看环境变量中PATH的值
	echo $PATH
	/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

env: 显示系统中已存在的环境变量
exit: 退出当前的shell
export: 为shell变量或函数设置导出属性

  • -p 查看已设置的导出属性
  • 如下,配置环境变量时导出变量
	export NVM_DIR="/root/.nvm"

find: 在指定目录下查找文件

  • 在不清楚目标文件具体路径是,可使用find查找,但不要偷懒 find /,建议通过其他信息缩小范围,再find
  • 如下,在/home目录下查找以.txt结尾的文件名
	find /home -name "*.txt"

free:显示内存的使用情况

  • 猜测还有同学,不清楚内存和磁盘的区别
  • 如下查看内存的使用,剩余,以及使用交换区的情况,如果内存不足,一般先杀进程,再考虑扩容
	free -m
	              total        used        free      shared  buff/cache   available
	Mem:           2000         236         134           2        1628        1561
	Swap:             0           0           0

grep:强大的文本搜索工具

  • 号称linux命令行工具三剑客之一
  • 常用关键字搜索,方便快捷,如果再能用好正则,有很多命令都可以弃用了
	grep aaaaaa ./* -r
	./blog/node_modules/buffer/test/node/test-buffer.js:  assert.equal(Buffer(1).write('aaaaaa', 0, 1, enc), 1);
	./blog/node_modules/buffer/test/node/test-buffer.js:a.write('aaaaaaaa', 'base64');

gzip :解压缩文件

  • 文件经它压缩过后,其名称后面会多处“.gz”扩展名
  • gzip可以用来压缩大的、较少使用的文件以节省磁盘空间
  • 和tar命令一起构成Linux操作系统中比较流行的压缩文件格式
  • 对文件压缩,减少网络传输数据量
  • 如下,压缩yarn.lock为yarn.lock.gz
	gzip yarn.lock

head:显示文件的开头部分

  • 常用-n,显示前n行,与tail命令对应
	head -5 package.json
	{
	  "name": "sdf",
	  "version": "1.0.0",
	  "description": "",
	  "main": "index.js",

history:显示历史命令

  • 常配合 !便捷执行历史命令

host:分析域名查询工具

  • 查询域名解析,或测试域名服务
  • 如下
	host baidu.com
	baidu.com has address 220.181.38.148
	baidu.com has address 39.156.69.79
	baidu.com mail is handled by 20 jpmx.baidu.com.
	baidu.com mail is handled by 20 mx50.baidu.com.
	baidu.com mail is handled by 20 mx1.baidu.com.
	baidu.com mail is handled by 15 mx.n.shifen.com.
	baidu.com mail is handled by 10 mx.maillb.baidu.com.

hostname:显示和设置系统的主机名

  • 常用查看主机名
  • 设置的主机名是临时的,重启需重新设置,或者去配置文件做永久修改

ifconfig:配置和显示Linux系统网卡的网络参数

  • 常用来查看网卡配置信息,如ip

kill:发送信号到进程

  • 不少同学以为kill 就是杀死进程,其实kill只是给进程发信号,信号指令不一定能得到执行,也不确保执行成功
  • -l 查看信号,-9 表示发送9号信号,一般用来杀死指定进程

ls:显示目录内容列表

  • 常用-l 参数,查看内容列表以及详细信息

less:分屏上下翻页浏览文件内容

  • 类似more命令,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览
  • 常用分屏查看大文件内容

ln:用来为文件创建链接

  • 可创建硬链接和软连接,从这个点入手理解linux文件系统是个不错的选择(区别详见
  • 避免将文件拷来拷去,即可在本地磁盘保持同步
  • 如下,生成个符号链接yarn2
	ln -s yarn.lock yarn2

locate:文件查找工具

  • 和find功能类似,但是快啊,用了它就不想用find了

mv: 对文件或目录重新命名或迁移

  • 和cp不同的是,mv是文件迁移,不会增加文件数量,cp是文件copy

man:查看Linux中的指令帮助文档

  • linux指令不熟悉,找"男人"啊,说的就是这个男人
  • 和info命令功能类似

mkdir:用来创建目录

  • 常用-p参数,若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录
	mkdir -p test/test1/test2
	#查看目录结构
	tree test
	test
	└── test1
	    └── test2

	2 directories, 0 files

more:显示文件内容,每次显示一屏

  • 类似less命令

ps:查看当前系统的进程状态

  • 常用auxef

pwd:显示当前工作目录

rm:删除给定的文件和目录

  • -rf 强制递归删除

ssh:openssh套件中的客户端连接工具

  • 用于连接远程sshd服务

stat:显示文件的状态信息

  • 查看文件修改时间,inode ID等详细信息

su:切换当前用户身份到其他用户身份

sudo:以其他身份来执行命令

  • 默认root身份

service:系统服务管理

  • 管理系统服务,查看系统服务状态
  • 如下
	service nginx status
	nginx.service - A high performance web server and a reverse proxy server
	   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
	   Active: active (running) since Tue 2019-10-15 22:44:39 CST; 1 months 24 days ago
	 Main PID: 775 (nginx)
	   CGroup: /system.slice/nginx.service
	           ├─775 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
	           └─776 nginx: worker process                           
	
	Oct 15 22:44:38 iZbp18p61d8tww9an0zfg8Z systemd[1]: Starting A high performance web server and a reverse proxy server...
	Oct 15 22:44:39 iZbp18p61d8tww9an0zfg8Z systemd[1]: Started A high performance web server and a reverse proxy server

systemctl:系统服务管理器

  • 较新的linux发行版中管理 systemd服务的工具
  • service 和 chkconfig 的组合版

tail:显示指定文件的末尾若干行

tar:下的归档使用工具,用来打包,备份

  • 打包是将一大堆文件或目录变成一个总的文件
  • 常用打包,解压缩多个文件

tree:树状图列出目录的内容

  • 查看目录结构

touch:创建新的空文件

ulimit:控制shell进程以及子进程的资源

  • 防止登录用户对系统资源浪费使用
  • -a 查看用户的资源限制情况
  • 常见错误 too many open files

unzip:解压缩由zip命令压缩的压缩包
users:显示当前登录系统的所有用户

wget:下载文件工具

  • 有重试机制,下载稳定

which:查找并显示给定命令的绝对路径

	which ls
	/bin/ls

zip:解压缩文件

  • 解压缩文件,或者对文件进行打包操作
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值