Linux常用命令

参考1:Linux常用命令

一. 基础命令

  1. 关机和重启
关机shutdown -h now立刻关机
shutdown -h 55分钟后关机
poweroff立刻关机
重启shutdown -r now立刻重启
shutdown -r 55分钟后重启
reboot立刻重启
  1. 帮助命令
--help命令shutdown --help
ipconfig --help查看网卡信息
man命令(命令说明书)man shutdown
man shutdown打开命令说明书后,使用按键q退出

二. 目录操作命令

1. 目录切换cd

命令:cd 目录
cd /切换到根目录
cd /user切换到根目录下的user目录
cd ../切换到上一级目录 或 cd ..
cd ~切换到home目录
cd -切换到上次访问的目录

2. 目录查看ls [-al]

命令:ls [-al]
ls查看当前目录下的所有目录和文件
ls -a查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l或ll列表查看当前目录下的所有目录和文件(列表查看,显示更多信息)
ls /dir查看指定目录下的所有目录和文件,如:ls /usr

3. 目录操作【增删改查】

1). 创建目录【增】mkdir

命令:mkdir 目录
mkdir aaa在当前目录创建一个名为aaa的目录
mkdir /usr/aaa在指定目录下创建一个名为aaa的目录

2). 删除目录或文件【删】rm

命令:rm [-rf] 目录
删除文件rm 文件删除当前目录下的文件
rm -f 文件删除当前目录下的文件(不询问)
删除目录rm -r aaa递归删除当前目录下的aaa目录
rm -rf aaa递归删除当前目录下的aaa目录(不询问)
全部删除rm -rf *将当前目录下的所有目录和文件全部删除
rm -rf /*【自杀命令!慎用!】将根目录下的所有文件全部删除
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都可以直接使用rm -rf 目录/文件/压缩包

3). 目录修改【改】mv或cp

重命名目录命令格式:mv 当前目录 新目录例如:mv aaa bbb将目录aaa改成bbb
注意:mv语法不仅可以对目录进行重命名,也可以对文件、压缩包进行重命名
剪切目录命令格式:mv 目录名称 目录的新位置例如:mv /usr/tmp/aaa /usr将/usr/tmp目录下的aaa目录剪切到/usr目录下
注意:mv语法不仅可以对目录进行剪切操作,也可以对文件、压缩包进行剪切操作
拷贝目录命令格式:cp -r 目录名称 目录拷贝的目标位置(-r代表递归)例如:cp /usr/tmp/aaa /usr将/usr/tmp目录下的aaa目录复制到/usr目录下
注意:mv语法不仅可以对目录进行拷贝操作,也可以对文件、压缩包进行拷贝操作(拷贝文件、压缩包时不用写-r递归)

4). 搜寻目录【查】find

命令:find 目录 参数 文件名称
find /usr/tmp -name 'a*'查找/usr/tmp目录下的所有以a开头的目录和文件

三. 文件操作命令

1. 文件操作【增删改查】

1). 新增文件【增】touch

命令:touch 文件名
touch aa.txt在当前目录下创建一个名为aa.txt的文件

2). 删除文件【删】rm

命令格式:rm -rf 文件名

3). 修改文件【改】vi或vim

【vi编辑器的3种模式】
基本上vi可分为3种状态,命令模式(Command mode)、插入模式(Insert mode)、底行模式(Last line mode)。各模式的功能分别如下:

  1. 命令行模式(Command mode)
    控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到Last line mode。
    命令行模式下常用命令:
    【1】控制光标移动:↑,↓,j
    【2】删除当前行:dd
    【3】查找:/字符
    【4】进入编辑模式:i o a
    【5】进入底行模式::
  2. 编辑模式(Insert mode)
    只有在Insert mode下,才能做文字输入,按【ESC】键可回到命令行模式。
    编辑模式下常用命令:
    【1】ESC退出编辑模式到命令行模式
  3. 底行模式(Last line mode)
    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号等。
    底行模式下常用命令:
    【1】退出编辑:q
    【2】强制退出:q!
    【3】保存并退出:wq

打开文件

命令:vi 文件名
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令行模式,点击i/a/o进入编辑模式。

编辑文件

i在光标所在字符前开始插入
a在光标所在字符后开始插入
o在光标所在行的下面另起一新行插入

保存文件
【1】ESC进入命令行模式
【2】:进入底行模式
【3】wq保存并推出编辑
取消编辑
【1】ESC进入命令行模式
【2】:进入底行模式
【3】q!撤销本次编辑并退出编辑

4). 查看文件【查】cat/more/less/tail/head

cat看最后一屏
more百分比显示使用more查看文件,可以显示百分比,回车可以像下一行,空格可以向下一页,q可以退出查看
less翻页查看使用less查看文件,可以PageUp、PageDown上下翻页,q结束查看
tail可用于实时监视文件变化,或查看文件尾部。默认显示10行。使用tail -10查看文件的后10行,Ctrl+C结束
head用于查看文件头部使用head -10查看文件的前10行

2. 权限修改:chmod

rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件;如果rwx任意位置变成-则表示不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹
第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在组,组员的权限
第三段(最后3位):代表的是其他用户的权限

值: 421 421 421
权限:- rw- — —

命令:chmod +x aaa.txt
或者采用8421法
命令:chmod 100 aaa.txt

四. 压缩文件操作

1. 打包和压缩

Windows的压缩文件扩展名zip/rar
Linux中的打包文件aa.tar
Linux中的压缩文件bb.gz
Linux中打包并压缩的文件.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。 而一般情况下,打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般是.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
z:调用gzip压缩命令进行压缩 c:打包文件 v:显示运行过程 f:指定文件名
tar -zcvf ab.tar.gz aa.txt bb,txt或tar -zcvf ab.tar.gz *打包并压缩/usr/tmp下的所有文件 压缩后的压缩包指定名称为xxx.tar

2. 解压

命令:tar [-zxvf] 压缩文件
z:调用gzip压缩命令进行压缩 x:解压文件 v:显示运行过程 f:指定文件名 -C:指定解压的位置
tar -zxvf ab.tar将/usr/tmp下的a.tar 解压到当前目录下
tar -zxvf ab.tar -C /usr将/usr/tmp下的a.tar 解压到根目录/usr下

五. 查找命令

1. grep

grep命令是一种强大的文本搜索工具

ps -ef | grep sshd查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep查找指定服务进程,排除grep本身
ps -ef | grep sshd -c查找指定进程个数

2. find

find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全部显示在屏幕上。

find . name "*.log" -ls在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 600查找/root/目录下权限为600的文件
find . -type f -name "*.log"查找当前目录,以.log结尾的普通文件
find . -type d | sort查找当前所有目录并排序
find . -size +100M查找当前目录大于100M的文件

3. locate

locate让使用者可以很快速的搜寻某个路径。默认每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。如果数据库中没有查询的数据,则会报出locate: can not stat () `/var/lib/mlocate/mlocate.db’: No such file or directory该错误!updatedb即可!
yum -y install mlocate 如果是精简版CentOS系统,需要安装locate命令

# 使用示例
updatedb
locate /etc/sh 搜索etc目录下所有以sh开头的文件 
locate pwd 查找和pwd相关的所有文件

4. whereis

whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。

# 使用示例
whereis ls    将和ls文件相关的文件都查找出来

5. which

which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。

# 使用示例
which pwd  查找pwd命令所在路径 
which java  查找path中java的路径 

六. su、sudo

1. su

su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root向普通用户或虚拟用户切换,不需要密码。反之普通用户切换到其他任何用户都需要密码验证。

su test切换到test用户,但是路径还是/root目录
su - test切换到test用户,路径变成了/home/test目录
su :切换到root用户,但是路径还是原来的路径
su - :切换到root用户,并且路径是/root
su不足:如果某个用户需要使用root权限,则必须把root密码告诉此用户。
退出或返回之前的用户:exit
## 2. sudo sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
# 进入sudo配置文件命令:
vi /etc/sudoer或者visudo
案例:
允许hadoop用户以root身份执行各种应用命令,需要输入hadoop用户的密码。
hadoop  ALL=(ALL)   ALL 
 
案例:
只允许hadoop用户以root身份执行ls 、cat命令,并且执行时候免输入密码。 
配置文件中: 
hadoop  ALL=NOPASSWD:  /bin/ls, /bin/cat 

七.系统服务

service iptables status  --查看iptables服务的状态
service iptables start  --开启iptables服务
service iptables stop  --停止iptables服务
service iptables restart  --重启iptables服务
 
chkconfig iptables off  --关闭iptables服务的开机自启动
chkconfig iptables on  --开启iptables服务的开机自启动

八.网络管理

1. 主机名配置

[root@node1 ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=node1

2. IP地址配置

[root@node1 ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

3. 域名映射

/etc/hosts文件用于在通过主机名进行访问时做ip地址解析使用。

[root@node1 ~]# vi /etc/hosts
#### 在最后加上
192.168.52.201  node1
192.168.52.202  node2
192.168.52.203  node3

九. 定时任务指令crontab配置

crontab是Unix和Linux用于设置定时任务的指令。通过crontab命令,可以在固定间隔时间,执行指定的系统指令或shell脚本。时间间隔的单位可以是分钟、小时、日、月、周以上的任意组合。

crontab安装:
yum install crontabs
# 服务操作说明
service crond start   ## 启动服务 
service crond stop    ## 关闭服务 
service crond restart ## 重启服务

1. 命令格式

crontab [-u user] file
crontab [-u user] [ -e | -l | -r ]
-u user用来设定某个用户的crontab服务
filefile是命令文件的名字,表示将file作为crontab的任务列表文件并载入crontab
-e编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l显示某个用户的crontab文件内容。如果不指定用户,则表示显示当前用户的crontab问价内容。
-r删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
# 命令示例
crontab file [-u user] ## 用指定的文件替代目前的crontab
crontab -l [-u user]  ## 列出用户目前的crontab
crontab -e [-u user]  ## 编辑用户目前的crontab

2. 配置说明、实例

命令:* * * * * command 解释:分 时 日 月 周 命令
第1列表示分钟1~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令
crontab -e打开定时任务所在的文件
*/1 * * * * date >> /root/date.txt每分钟执行一次date命令
30 21 * * * service httpd restart每晚的21:30重启apache。
45 4 1,10,22 * * service httpd restart每月1、10、22日的4 : 45重启apache。
10 1 * * 6,0 service httpd restart每周六、周日的1 : 10重启apache。
0,30 18-23 * * * service httpd restart每天18 : 00至23 : 00之间每隔30分钟重启apache。
* 23-7/1 * * * service httpd restart晚上11点到早上7点之间,每隔一小时重启apache

十. 其他命令

pwd查看当前目录路径
ps -ef查看所有正在运行的进程
kill pid或kill -9 pid结束进程 或 强制杀死进程;pid:进程号
ipconfig或ipconfig | more查看网卡信息
ping ip查看与某台机器的连接情况
netstat -an查看当前系统端口
netstat -an | grep 8080搜索指定端口
setup配置网络
service network restart重启网络
chkconfig iptables off或iptables -L或iptables -F或service iptables stop关闭防火墙
ctrl + l清屏
vi模式下快捷键ESC后: 保存并退出快捷键:shift+z+z 光标跳到最后一行快捷键:shift+g 删除一行:dd 复制一行内容:yy 粘贴复制的内容:p

十一. Linux项目部署

  1. 安装jdk1.8
  2. 安装MySQL5.6
  3. 安装tomcat部署项目
  4. Linux下使用Fast DFS
  5. 安装fastdfs-nginx-module
  6. 安装Nginx的插件
  7. 安装Elasticsearch
  8. 安装RabbitMQ
  9. redis安装与配置
  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值