Linux操作的一些基本指令



标题顶部

基础指令

关机

shutdown -h now      立刻关机
shutdown -h 5 5分钟后关机
poweroff 立刻关机

重启

shutdown -r now      立刻重启
shutdown -r 5 5分钟后重启
reboot 立刻重启

进程指令

ps -ef            查看所有正在运行的进程
lsof -i:port 查看端口(port)的进程号
netstat -ntlp | grep [port] 查看端口进程号
netstat -an | grep [port] 搜索指定端口
ps -ef | grep sshd 查找指定ssh服务进程
ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp身
ps -ef | grep sshd -c 查找指定进程个数
kill pid 杀死进程(pid是进程号)
kill -9 pid 强制杀死进程
ll /proc/PID 根据进程号程序进程名称

防火墙

systemctl status firewalld    查看防火墙状态
systemctl stop firewalld 暂时关闭防火墙
systemctl disable firewalld 永久关闭防火墙
systemctl start firewalld 开启防火墙
systemctl enable firewalld 永远开启防火墙
systemctl restart firewalld 重启防火墙

切换用户

su -用户      切换到指定用户
su root 切换到root用户

网络配置

ifconfig          查看网络配置信息(网卡、IP、UID等等)
service network restart 重启网络
service network start 开启网络
service network stop 关闭网络
ping 网络地址(或IP) 查看于某台机器的连接情况
netstat -an 查看当前系统端口
netstat -an | grep 8080 搜索指定端口

​跳转顶部​

目录、文件指令

目录的切换

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

查看目录文件

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

创建文件、目录

目录的创建
mkdir test 在当前目录下创建一个名为test的文件夹
mkdir /usr/test 在usr下创建一个名为test的文件夹
mkdir -p /usr/test 先在当前目录下创建一个usr文件夹,再在此文件夹下创建test文件夹

文件的创建
touch test 在当前文文件夹下创建一个test文件(也可指定目录)

删除文件、目录

删除文件:
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)

删除目录:
rm -r aaa 递归删除当前目录下的aaa目录
rm -rf aaa 递归删除当前目录下的aaa目录(不询问)

全部删除:
rm -rf * 将当前目录下的所有目录和文件全部删除
rm -rf /* 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除

移动或复制文件、目录

文件(夹)的的移动
mv 目录名称 目录的新位置
示例:mv /usr/tmp/aaa /usr 将/usr/tmp/下的aaa移动到/usr

当移动文件的起始目录没变时,就可以看作是对文件的重命名
示例:mv aaa bbb 将aaa文件重命名为bbb文件

文件(夹)的复制
命令:cp -r 目录名称 目录拷贝的目标位置 -r代表递归
示例:cp /usr/tmp/aaa /usr 将/usr/tmp目录下的aaa目录复制到 /usr目录下面

文件的搜索

find 目录 参数 文件名称
实例:find /usr/tmp -name 'a*' 查找/usr/tmp目录下的所有以a开头的目录或文件
find /usr/tmp -name 'a?' 查找/usr/tmp目录下的a开头第二个字符不明的

文件的编辑

vi编辑器的3种模式:
基本上vi可以分为三种状态,分别是命令模式(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

文件编辑即vim的具体使用

命令:vi 文件名
注意:使用vi编辑器打开文件后,并不能编辑,因为此时处于命令模式,点击键盘i/a/o进入编辑模式
i、a、o三者的区别
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
o:在光标所在行的下面另起一新行插入

文件编辑完成后该如何保存?

保存文件:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:wq! 保存并退出编辑

取消编辑:
第一步:ESC 进入命令行模式
第二步:: 进入底行模式
第三步:q! 撤销本次修改并退出编辑

查看文件

cat 文件路径      查看文件(若文件过大,只能看到最后一屏的内容)
more 文件路径 百分比显示(回车查看下一行,空格查看下一页,q退出查看)
less 文件路径 翻页查看(PgUp、PgDn分别是向上、下翻页,q退出)
tail -10 文件路径 查看文件最后十行(Ctrl + C结束)
head -10 文件路径 查看文件前十行(Ctrl + C结束)

修改文件权限

我们在使用ll命令查看文件时,会出现以下信息

【Linux】Linux操作的一些基本指令_ubuntu


rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。

第一位:-代表是文件,​d​代表是文件夹

第一段(3位):代表拥有者的权限
第二段(3位):代表拥有者所在的组,组员的权限
第三段(最后3位):代表的是其他用户的权限

使用8421:r是4,w是2,x是1


chmod +x aaa.txt    aaa文件只有拥有者有者执行权限
chmod 751 aaa.txt aaa文件拥有者有全部权限,拥有者的组员有者读和执行权限,其他人只有执行权限

​跳转顶部​

压缩、解压指令

Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz


文件压缩

tar -zcvf 打包压缩后的文件名 要打包的文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为ab.tar
tar -zcvf ab.tar /usr/tmp/*

解压缩

tar -zxvf 压缩文件
x:代表解压缩
补充:tar -zxvf ab.tar -C /usr 将压缩包解压到指定文件夹

​跳转顶部​

查找指令

grep

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

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的文件

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相关的所有文件

whereis

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

whereis ls    将和ls文件相关的文件都查找出来

which

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

which pwd  查找pwd命令所在路径 
which java 查找path中java的路径

​跳转顶部​

服务

系统服务

service iptables status  --查看iptables服务的状态
service iptables start --开启iptables服务
service iptables stop --停止iptables服务
service iptables restart --重启iptables服务

chkconfig iptables off --关闭iptables服务的开机自启动
chkconfig iptables on --开启iptables服务的开机自启动

free -h --查看内存

$ fdisk -l
$ df -T -h --查看硬盘分区

​跳转顶部​

用户管理命令

补充
用户的信息文件全在/etc下
其中/etc/passwd 保存用户信息目录
/etc/group 保存用户组信息
/etc/shadow 保存密码信息
/home/username 用户之家目录
/etc/skel.* 用户的骨文件(用户在创建时自动复制到家目录)

whoami和id

用户的查看

whoami    查看当前的用户名称

id命令配合着用户的名称可以查找用户的信息

id        username 查看用户的信息
-u username 查看用户的uid
-g username 查看用户的组id
-G username 查看用户所在的所有组的id
-n username 以名称显示信息

【Linux】Linux操作的一些基本指令_网络_02

组和用户id的含义:UID的值为0时,表示系统管理员;(1-99)为系统预设账号;(100-499)保留给一些服务使用;(500-65535)给一般使用者使用


useradd

创建一个新的用户

useradd usename 使用默认规则建立用户录下有那些)
useradd -u usename 指定用户uid
-g 用户的初始组id
-G 指定用户的附加组
-c id 指定用户的说明文字
-d 指定用户的家目录
-s 指定用户的shell(系统可以用shell可在/etc/shells中查看)

【Linux】Linux操作的一些基本指令_ubuntu_03【Linux】Linux操作的一些基本指令_hdfs_04


userdel

删除用户

userdel username 删除用户
-r 删除用户身份以及用户系统的配置文件
userdel -fr /home/student(用户删除失误的时候使用,删除掉遗留文件)

【Linux】Linux操作的一些基本指令_ubuntu_05


groupadd和groupdel

建立组

groupadd groupname 建立组

groupadd -g GID groupname 建立组指定id

删除组

groupdel groupname 删除组

usermod

用户的修改

usermod username
-l 用户名称
-u uid
-g 初始组id
-G 更改附加组
-aG 增加附加组
-c 更改用户说明
-d 更改用户家目录指向
-md 更改用户家目录指向并重命名家目录
-s 更改用户的shell

改名示例

【Linux】Linux操作的一些基本指令_服务器_06

usermod -u 666  westos    修改用户的uid
usermod -G 27 westos -G表示修改原来附加组的身份
usermod -G "" westos 删除所有的附加组

passwd

密码的修改与冻结

passwd  username  修改密码(只有超级用户执行),不是超级用户需要输入密码
在普通用户权限下
usermol -l 冻结帐号
usermol -u 解冻
在root权限下使用
passwd -l 冻结
passwd -u 解冻
passwd -d 清空密码

用户密码的修改

who

显示谁已登录

who
-b , --boot 上次系统启动时间
-l , --login 显示系统登录进程
--lookup 尝试通过DNS查验主机名
-q , --count 列出所有已登录用户的登录名与用户数量
-u , --users 列出已登录的用户
--help 显示帮助信息
-r 显示当前的运行级别

【Linux】Linux操作的一些基本指令_ubuntu_07


chage

更改用户密码过期信息

chage
-d 上次修改密码的时间距离1970-01-01起的天数,如果后面跟的天数为0,则表示,用户在下次登录的时候,必须要修改自己的密码
-E 修改账户失效日期,格式为YYYY-MM-DD。后面也可跟上天数,如果为天数,则表示距离1970-01-01起的天数。如果为-1,则表示移除账户失效日期。该指令等同于usemod -e
-h 显示帮助信息
-I(大写i) 密码过期多少天后,账户将被禁用。如果为-1将关闭该功能。
-l 查看用户密码的过期信息
-m 密码使用的最小天数
-M 密码使用的最大天数,如果为-1将关闭该功能。
-W 密码过期前多少天警告。

【Linux】Linux操作的一些基本指令_ubuntu_08


​跳转顶部​

补充:Hadoop的操作指令

Hadoop集群的常用命令

hdfs namenode -format         格式化文件系统
sbin/hadoop-daemon.sh start namenode 启动NameNode
sbin/hadoop-daemon.sh stop namenode 关闭NameNode
sbin/hadoop-daemon.sh start datanode 启动DataNode
sbin/hadoop-daemon.sh stop datanode 关闭DataNode
sbin/start-dfs.sh 启动HDFS
sbin/start-yarn.sh 启动YARN
sbin/start-all.sh 同时启动HDFS和YARN
bin/hdfs dfsadmin -safemode enter 进入安全模式
bin/hdfs dfsadmin -safemode leave 离开安全模式
bin/hdfs dfsadmin -safemode get 获取安全模式的状态

HDFS的常用命令

hdfs dfs -help          查看帮助命令
hdfs dfsadmin -report 显示HDFS的容量、数据块和数据节点的信息
hdfs dfs ls / 查看HDFS系统根目录
hdfs dfs -ls -R / 查看HDFS系统目录下的所有文件
hdfs dfs -mkidr /a 在HDFS创建文件夹
hdfs dfs -mkdir -p /a/b 在HDFS创建多层文件夹
hdfs dfs -put words.txt /a(第一个是上传文件地址,第二个路径是上传至那个文件夹) 上传文件至HDFS
hdfs dfs -appendToFile 1.txt 2.txt /test.txt(将俩个文件合并成一个) 合并上传至HDFS
hdfs dfs -get /word.txt 从HDFS上下载文件
hdfs dfs -getmerge /1.txt /2.txt /test.txt(只有最后一个是代表本地文件) 从HDFS上合并下载
hdfs dfs -cp /a/test.txt /b 在HDFS上复制文件
hdfs dfs -mv /a/test.txt /b 在HDFS上移动文件
hdfs dfs -mv /a/test.txt /a/test02.txt 在HDFS上给文件改名
hdfs dfs -rm /a /words.txt 删除文件或文件夹
hdfs dfs -rmdir /a/b 删除空目录
hdfs dfs -rm -r /a/b/ 强制删除文件
hdfs dfs -cat /a/word.txt 查看文件内容
hdfs dfs -cat /word.txt | wc -l 查看文件行数
hdfs dfs -du /word.txt 统计目录下各文件大小,单位字节
hdfs dfs -cat /word.txt | head -20 查看文件前二十行
hdfs dfs -cat /word.txt | tail -20 查看文件后二十行

​跳转顶部​