思路
- 文件操作
- ssh/scp远程操作
- 磁盘管理
- 用户管理
- 网络管理
- 系统命令
- 其他命令
Linux几种文件类型:
d 表示此文件是一个目录
- 表示此文件是一个普通文件
b 表示此文件是一个特殊的块设备I/O文件
c 表示此文件是一个特殊的字符设备I/O文件
l 表示此文件是一个连接文件。在其文件名称后紧跟与它连接的文件路径及名称
文件操作
文件增删改查
文件目录查询
1 | cd /root/Docements # 切换到目录/root/Docements |
创建、删除、复制目录|文件
1 | # mkdir创建目录 |
编辑查看文件命令
1 | vi /var/log/aa.log # 打开 /var/log/aa.log文件并编辑 |
文件压缩
1 | # tar命令,用于压缩解压 |
文件搜索
whereis 命令
1 | # whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 |
-b 定位可执行文件。
-m 定位帮助文件。
-s 定位源代码文件。
-u 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B 指定搜索可执行文件的路径。
-M 指定搜索帮助文件的路径。
-S 指定搜索源代码文件的路径。
使用示例:
which命令
会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果:
1 | which 可执行文件名称 |
使用示例:
locate命令
1 | # locate命令可以在搜寻数据库时快速找到档案,数据库由updatedb程序来更新,updatedb是由cron daemon周期性建立的,locate命令在搜寻数据库时比由整个由硬盘资料来搜寻资料来得快,但较差劲的是locate所找到的档案若是最近才建立或 刚更名的,可能会找不到,在内定值中,updatedb每天会跑一次,可以由修改crontab来更新设定值。(etc/crontab)Locate [选择参数] [样式] |
使用示例:
diff 命令
用于比较两个文件或目录的不同:
1 | diff[参数][文件1或目录1][文件2或目录2] |
使用示例:
24.文件比软件:
cmp cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户
diff diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户
find命令
基本语法参数如下:
1 | find [PATH] [option] [action] |
使用截图:
tree命令
显示树形的层级目录结构,非原生命令,需要安装tree
tree a
使用示例:
ssh/scp 远程操作
ssh 命令用于远程登录上Linux主机:
1 | 远程登录 |
使用示例:
scp 命令是secure copy的简写,用于在Linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器,而且scp传输是加密的:
1 | 远程操作与文件传输 |
使用示例:
磁盘管理
1 | mount 加载一个硬件设备 |
用户和用户组管理
切换用户su -username
chmod
命令:
1 | chmod [-R] xyz 文件或目录 |
使用示例:
chown
命令改变文件所有者:
1 | chown [para]... [owner][:[group]] file... |
使用示例:
chgrp
命令,改变文件所属组:
1 | -c 当发生改变时输出调试信息 |
使用示例:
useradd
命令建立用户账号:
1 | useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s ][-u ][用户帐号] |
使用示例:
usermod 修改用户信息:
1 | usermod -h |
使用示例:
userdel
删除用户:
1 | userdel [options] LOGIN |
groupadd
命令用于将新组加入系统:
1 | groupadd [-g gid] [-o]] [-r] [-f] groupname |
使用示例:
groupdel
命令删除组:
1 | # 用于删除不再需要的组,如果指定的组中包含用户,则必须先删除组里面的用户>以后,才能删除组 |
使用示例:
sudo
用来以其他身份来执行命令,预设的身份为root:
1 | sudo(选项)(参数) |
使用示例:
passwd
设置用户的密码:
1 | passwd [OPTION...] <accountName> |
groups 显示用户所属组:
1 | groups # 默认显示当前用户的组 |
使用示例:
1 | 使用超级管理员身份执行命令 |
程序、线程管理
1 | 查看一个程序是否运行 |
使用示例:
kill 命令用于终止进程,参数:
1 | kill -signal PID |
使用示例:
killall 命令和参数:
1 | killall [-iIe] [command name] |
使用示例:
crntab
命令是启动Linux定时任务的服务
1 | service cron start # 启动cronjob |
使用示例:打开crontab -e
后通过vi方式编辑任务列表
free 命令用于显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer:
1 | free [参数] |
使用示例:
top 命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器:
1 | top [参数] |
使用示例:
网络管理
防火墙相关命令
1 | firewalld的基本使用 |
ping 用于确定主机与外部连接状态:
1 | ping [参数] [主机名或IP地址] |
使用示例:
telnet 命令用来远程登录操作:
1 | telnet[参数][主机]-8 允许使用8位字符资料,包括输入与输出。 |
使用示例:
wget
是从远程下载的工具:
1 | wget [参数] [URL地址] |
使用示例:
ifconfig
命令用来查看和配置网络设备。当网络环境发生改变时可通过此命令对网络进行相应的配置:
1 | # ifconfig 显示或设置网络设备,可以查看当前ip,类似于windows里的ipconfig |
使用示例:
系统命令
1 | hostname 显示主机名 |
关机和重启
1 | shutwond [-t 秒数] [-rkhncff] 时间 [警告信息] |
如何改变启动模式运行级别
1 | vi /etc/inittab |
TAB 巧用tab键,当你不知道文件或命令的全名是请连续按两下tab键.
其他命令
打印信息echo $JAVA_HOME
打印java home环境变量的值
java 常用命令java javac jps ,jstat ,jmap, jstack
其他命令svn git maven
设置Linux时间和日期
1 | date 命令("date MMDDhhmmYYYY.ss") |
自动化执行
1 | at 执行一次 |
编译c/c++文件
1 | gcc |
dd
命令备份
1 | dd if="input_file" of="out_file"bs="block_size" count="number" |
数据库启动
1 | # 启动mysql: |
安装软件包
1 | rpm包安装: |
禁止删除
1 | chattr +i filename 禁止删除,chattr -i filename 取消禁止 |
grep
命令
该命令常用于分析一行的信息,若当中有我们所需要的信息,就将该行显示出来,该命令通常与管道命令一起使用,用于对一些命令的输出进行筛选加工等等,比如可以加在ps, tail, cat后面
它的简单语法为
1 | grep [-acinv] [--color=auto] '查找字符串' filename |
使用示例:
ln 命令
是为某一个文件在另外一个位置建立一个同步的链接
1 | # 建立软连接 |
使用示例:
...
...
Copyright 2021 sunfy.top ALL Rights Reserved