Linux常用命令

在linux的FileSystem目录下:*
bin/sbin文件夹:存放可执行命令
dev文件夹:存放硬件设备文件
root文件夹:存放root用户的家目录
home文件夹:存放普通用户的家目录
lib/lib64文件夹:存放各种库文件
usr文件夹:存放unix共享资源,存放用户自己安装的文件
tmp文件夹:存放程序运行时的临时数据,系统重启后会删除该数据。
etc:系统配置文件
/usr:是安装时会占用较大硬盘容量目录
/var:是在系统运行后才会渐渐占用硬盘容量的目录。因为var主要存储系统运行时要改变的数据,包括缓存cache,日志文件logfile等

httpd与tomcat的区别:
httpd:只能用来解析静态页面,不支持解析动态页面
tomcat:既可以解析静态页面,也可以解析动态页面。
注:静态页面指文件和html页面,动态页面指jsp页面,就是与后台交互的页面。
注:httpd和tomcat都是http服务器

注:linux中某个服务启动了,就相当于某个软件运行起来了,服务中包含有软件的启动和停止命令。linux中没有图形快捷方式,所以就通过启动服务来启动软件。

注:ctrl + alt退出虚拟机光标
注:波浪线~代表家目录
注:当上下键不可用时,按tab键可以上下移动光标。

wget命令:是Linux系统用于从Web下载文件的命令行工具,支持 HTTP、HTTPS及FTP协议下载文件,而且wget还提供了很多选项,例如下载多个文件、后台下载,使用代理等等,使用非常方便。
语法格式:wget [options] [url]
例如,使用wget下载redis的tar.gz文件:
wget https://download.redis.io/releases/redis-6.0.8.tar.gz

关机命令:必须用root用户
shutdown -h now 立刻进行关机
shutdown -h +10 10分钟以后关机
shutdown -h 12:00:00 12点整的时候关机
halt 立刻进行关机
shutdown -r now 现在重新启动计算机
reboot 现在重新启动计算机

用户注销:
logout 注销后用户需重新登录
exit 用户退出登录

vi编辑器:类似命令cat,more
vi Hello.java:以编辑方式显示文件内容 类似打开windows记事本
:q 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:wq 保存文件,并退出vi
:q! 不保存退出
备注:vi-i-esc-:wq-:q!

备注:在i编辑模式下,左键选中内容就是复制,光标地方点击右键就是粘贴;
备注:在vi查看模式下,显示行号:set nu 隐藏行号:set nonu
备注:在vi查看模式下,gg跳到文件首行,G跳到文件末行;
备注:在vi查看模式下,查找关键字
eg :/y 查找文件中出现的y,并定位到第一个找到的地方(从光标位置开始查找),按n可以定位到下一个匹配位置(按N定位到上一个)
备注:在vi查看模式下, 替换操作
eg 😒/sad/bbb 查找光标所在行的第一个sad,替换为bbb
eg :%s/sad/bbb 查找文件中所有sad,替换为bbb

查看文件内容:

cat somefile 一次性将文件内容全部输出(控制台)

more somefile 可以翻页查看, 下翻一页(空格) 上翻一页(b)退出(q)

tail -10 install.log 查看文件尾部的10行

tail +10 install.log 查看文件 10–>末行

head -10 install.log 查看文件头部的10行

tail -f install.log 小f跟踪文件的唯一inode号,就算文件改名后,还是跟踪原来这个inode表示的文件(实时刷新文件,显示刷新后内容)

tail -F install.log 大F按照文件名来跟踪(实时刷新文件,显示刷新后的内容) ctrl+c终止命令

压缩和解压命令:

gzip压缩: gzip a.txt

gzip解压 : gzip -d a.txt.gz

tar打包:tar -cvf bak.tar a.txt b.txt

tar解包:tar -xvf bak.tar

tar 打包并压缩: tar -zcvf a.tar.gz a.txt b.txt

tar解包并解压缩: tar -zxvf a.tar.gz

解压到/usr/下: tar -zxvf a.tar.gz -C /usr

tar查看压缩包内容: tar -ztvf a.tar.gz

查看系统版本命令:
lsb_release -a 查看当前系统是哪个版本的
uname -a 查看当前系统是多少位的

linux的用户管理:root权限
useradd 用户名 eg:useradd xiaoming 添加用户xiaoming
passwd 用户名 eg:passwd xiaoming 修改用户xiaoming的密码
userdel 用户名 eg:userdel xiaoming 删除用户xiaoming
usermod -g 组名 用户名 修改用户所在的组

查看文件命令:
ls -a显示隐藏的文件(包括显示的和隐藏的)
ls -l显示长列表文件
ls会显示颜色含义:
蓝色—目录 绿色—可执行文件 红色—压缩文件 浅蓝色—链接文件  粉红色—图片文件 黄色—设备文件 灰色—其他文件

ls / 查看根目录下的子节点(文件夹和文件)信息
ls -al 显示隐藏文件 (文件名称以.点号开头的,都是隐藏文件)
ls -lrth 不显示隐藏文件(文件大小带单位)

目录命令:
mkdir 建立目录 eg:mkdir aaa 建立aaa文件夹
mkdir -p级联创建目录 eg:mkdir -p aaa/bbb/ccc 级联建立三个文件夹
rmdir 删除目录 eg:rmdir aaa 删除aaa文件夹
备注:rmdir 命令只能删除空文件夹

创建空文件:
touch 建立空文件
touch A 如果A不存在,在当前目录下新建一个空的文件A;如果A存在,可修改文件的时间(存取/更改时间);

重定向命令:

利用重定向“>”功能,将一条指令的输出结果写入到一个文件中,会覆盖原文件内容,若指定的文件不存在,则会创建出来;
利用重定向“>>”功能,将一条指令的输出结果写入(追加)到一个文件中,不会覆盖原文件内容,若指定的文件不存在,则会创建出来;

eg: echo “huangxiaoming ,gun dan” >>somefile.2 将一条指令的输出结果追加到一个文件中,不会覆盖原文件内容

复制命令:
cp 源文件 目标文件 复制源文件到目标文件
eg:cp a.out /home/xiaoming/ 把a.out文件复制到/home/xiaoming目录下
eg:cp -r dir1 dir2 把dir1目录复制到dir2目录中(复制非空目录要添加参数-r)

移动命令:
mv 源文件 目标文件 移动源文件到目标文件
eg:mv test.log test.txt 将test.log重命名为test.txt(也可以重命名文件夹)
eg:mv test.txt test3 将test.txt移动到test3文件夹中

rename 可以用来批量更改文件名
eg: rename .txt .txt.bak * 将所有.txt文件重命名为.txt.bak文件;

删除命令:
rm 文件/目录 删除文件/目录
eg:rm -rf test.txt 删除test.txt文件
rm -rf:强制删除(包括文件夹和文件)

分页命令:
more 文件 分页显示文件内容 eg:more test.txt
备注:空格键下一页,ctrl+pgup上一页

管道命令:|
把上一个命令的结果,交给|后面的命令来处理;例如 | more

清屏命令:clear 或 cls 或快捷键ctrl+L

查找命令:
grep 在文本中查询类容
eg:grep -n “a” test.txt 在test.txt中查找"a",-n查询结果带行号
eg:grep -v “a” test.txt 在test.txt中查找不包含"a"的行

搜索命令:
find 搜索文件及目录;有则展示搜索结果 无则不展示搜索结果
eg:find / -name test.txt 从根目录开始搜索名称为test.txt的文件及目录
eg:find /home/ -size +10k 从/home目录开始搜索大小为10k的文件或目录

常用查找命令:

which ipconfig 查找可执行的命令ipconfig所在的路径;

whereis ipconfig 查找可执行的命令ipconfig和帮助的位置;

history 显示历史操作命令 ↑符号也可以显示历史操作命令

查看定时任务命令:
crontab -l 列出当前用户下的所有定时任务;该命令没有参数;
*  *  *  *  * command 分 时 日 月 周 命令
例:30 21 * * * /usr/local/etc/rc.d/lighttpd restart 表示每晚的21:30重启apache;

命令格式:crontab [-u user] [ -e | -l | -r ]

参数说明:

-u user:用来设定某个用户的crontab服务,例如,“-u ixdba”表示设定ixdba用户的crontab服务,此参数一般有root用户来运行。

-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。相当于vi操作。

-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。

-r:删除定时任务配置,从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。

-i:在删除用户的crontab文件时给确认提示。

查看环境变量命令:
env | sort 显示系统中的环境变量(对环境变量排序后显示)

主机名配置命令:
查看主机名:hostname
修改主机名(重启后无效):hostname hadoop
修改主机名(重启后永久生效):vi /ect/sysconfig/network

修改IP地址命令:
1/ 方式一:setup (适用于desktoop版本)

用root输入setup命令,进入交互式修改界面

2/ 方式二:修改配置文件(重启后永久生效)

vi/etc/sysconfig/network-scripts/ifcfg-eth0

3/ 方式三:ipconfig命令(重启后无效)
ipconfig eth0 192.168.12.22

注:修改ip地址以后,需要service network restart才生效;

域名映射 :修改/etc/hosts文件

查看当前时间命令:
date +%Y-%m-%d 2017-06-17
date +%Y:%m:%d 2017:06:17
date +%Y-%m-%d --date="-1 day" 2017-06-16 #加减也可以 month | year
date -s “2016-05-23 01:01” 将时间修改为2016-05-23 01:01
hwclock -w :修改时间后,需要使用该命令写入硬件bios才能在机器重启之后依然生效;否则修改的时间在重启之后就失效了;

挂起当前进程命令:
ctrl+z 进程会挂起到后台 (可以将一个正在前台执行的命令放到后台,并且暂停)
bg jobid 让进程在后台继续执行(将一个在后台暂停的命令,变成继续执行)
fg jobid 让进程回到前台
注:Ctrl-z 可以将前台进程挂起, 然后可以用bg jobid 让其到后台运行。

进程管理命令:

ps-ef:查看全部进程 eg: ps -ef | grep ssh

kill -9 2358 将指定进程号2358的进程杀死 (杀死父进程,子进程可以继续存在)

top:该命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。

free:该命令是监控Linux内存使用最常用的命令

参数说明:

-m:以M为单位查看内存使用情况(默认为kb)

-b:以字节为单位查看内存使用情况

-s:可以在指定时间段内不简单监控内存的使用情况

系统服务管理命令:

service --status-all : 查看系统所有的后台服务进程

service sshd status : 查看指定的后台服务进程的状态

service sshd stop:停止sshd进程

service sshd start:启动sshd进程

service sshd restart:重新启动sshd进程

配置后台服务进程的开机自启

chkconfig httpd on : 让httpd服务开机自启

chkconfig httpd off : 让httpd服务开机不要自启

chkconfig --level 35 httpd on 让httpd服务只有在3和5模式下自启动

chkconfig --list :查看所有服务的开机自启状态 eg:chkconfig --list | grep httpd

系统启动级别管理

vi /etc/inittab

Default runlevel. The runlevels used are:

0- halt (Do NOT set initdefault to this)

1- Single user mode

2- Multiuser, without NFS (The same as 3, if you do not have networking)

3- Full multiuser mode ## 没有图形界面的全功能的多用户的启动级别

4- unused

5- X11 ## 有图形界面的启动级别

6- reboot (Do NOT set initdefault to this)

id:3:initdefault: 配置默认启动级别,通常将默认启动级别设置为:3 (启动时就不会有图形界面了,5有图形界面)

pwd:显示当前目录
cd /:进入根路径
cd /XX/XXX/XXX: 进入某个路径
cd - :回退到上次所在目录
cd ~:切换到用户主目录
ls -lrt:详细列表方式显示当前目录结构
vi:以编辑方式显示文件内容
tail -f:显示文件最新内容(执行命令后所有新增的内容)循环读取
sz 文件名称:把文件下载到本地
ctrl+c:退出,用来终止当前命令的快捷键
shift+g:最后一行
Tab:自动补全
ipconfig:查看IP地址
who:查看当前有谁在线(哪些人登录到了服务器)
last :查看最近的登陆历史记录 例:last -3 最近3条登录历史记录
echo:输出变量的值 例:echo $a
df -h: 查看磁盘的剩余空间
du -sh: 统计指定路径下的所有子目录和文件的大小 eg: /mnt/cdrom/packages
netstat -an:查看端口状态,能看到所有和本地计算机建立连接的IP和端口号
netstat -nltp

source:该命令也称为“点命令”,也就是一个点符号(.)。source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。用法:source filename 或 . filename
lsof -I:端口 :查看某个端口的使用情况,如果没有使用,什么也不返回;如果在使用,返回使用该端口的进程;eg:lsof -i:22

用户组:
新建用户步骤:添加用户-修改密码-添加组-修改用户所在的组
修改用户所在的组: usermod -g 组名 用户名
修改用户登录的初始目录 : usermod -d 目录名 用户名
如何在linux中添加组:groupadd policeman
查看linux中所有组的信息:vi /etc/group
查看linux中所有用户信息:vi /etc/passwd
创建用户并制定用户分配到哪个组:useradd -g 组名 用户名

添加一个用户:

1、 useradd spark

2、 passwd spark 根据提示设置密码;

删除一个用户:

userdel -r spark 加一个-r就表示把用户及用户的主目录都删除

用户权限:
权限分为三种:r可读 用4表示 w可写 用2表示 x可执行 用1表示
-rw-r–r-- (3个一组)
第一个-:表示文件类型 (- 文件 d 目录 l 链接)
第二个rw-:表示文件的所有者对该文件的权限
第三个r–:表示文件所在组对该文件的权限
第四个r–:表示其它组的用户对该文件的权限
drwx------:表示文件所有者对文件夹有读写可执行权限,后面的-表示文件所在组和其它组的用户对该文件没有任何操作权限
drwxrwxrwx:表示文件夹对所有人有读写可执行权限
如何修改用户的访问权限:chmod 777 along 修改along用户的访问权限为所有人 chmod 770 along
如何修改文件的访问权限:chmod 664 test.java 修改test.java文件的访问权限(文件所有者才可以执行修改权限操作)

补充:

r: 对文件来说,是可读取内容;对文件夹来说,是可以ls

w: 对文件来说,是可修改文件的内容;对文件夹来说,是可以在其中创建或者删除子节点

x:对文件来说,是能否运行这个文件;对文件夹来说,是能否cd进入这个目录

注:文件夹的权限,和文件夹中的文件的权限,不是一回事儿,可以是不一样的权限;

修改文件所有权:只有root权限能执行
chown angela aaa 改变所属用户
chown :angela aaa 改变所属组
chown angela:angela aaa/ 同时修改所属用户和所属组

常用操作:
1.文件操作 比如cd dir pwd find vi 等
2.进程操作 比如ps等
3.网络操作 比如ftp上传和下载等
4.常用系统软件自身的命令 比如oracle weblogic

为用户配置sudo权限:

用root编辑 vi /etc/sudoers

在文件的如下位置,为hadoop添加一行即可

root ALL=(ALL) ALL

hadoop ALL=(ALL) ALL

然后,hadoop用户就可以用sudo来执行系统级别的指令

[hadoop@shizhan ~]$ sudo useradd huangxiaoming

注:su切换超级用户登录,然后用exit退出root,还原登录用户为hadoop; su 回车 即可切换到root用户登录,所有操作命令都是以root用户执行;
注:sudo只有当前命令使用root权限执行;
注:su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。su还可以从当前用户切换到其它用户,eg: su test 或者 eg: su - test

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,如halt,reboot,su等等;这样不仅减少了root用户的登录和管理时间,同样也提高了安全性;sudo不是对shell的一个代替,它是面向每个命令的;

在sudo于1980年前后被写出之前,一般用户管理系统的方式是利用su切换为超级用户。但是使用su的缺点之一在于必须要先告知超级用户的密码。sudo使一般用户不需要知道超级用户的密码即可获得权限。首先超级用户将普通用户的名字、可以执行的特定命令、按照哪种用户或用户组的身份执行等信息,登记在特殊的文件中(通常是/etc/sudoers),即完成对该用户的授权(此时该用户称为“sudoer”);在一般用户需要取得特殊权限时,其可在命令前加上“sudo”,此时sudo将会询问该用户自己的密码(以确认终端机前的是该用户本人),回答后系统即会将该命令的进程以超级用户的权限运行。之后的一段时间内(默认为5分钟,可在/etc/sudoers自定义),使用sudo不需要再次输入密码。由于不需要超级用户的密码,部分Unix系统甚至利用sudo使一般用户取代超级用户作为管理帐号,例如Ubuntu、Mac OS X等。

挂载外部存储设备:挂载就是将外部存储设备映射到文件系统中去;

可以挂载光盘、硬盘、磁带、光盘镜像文件等

1/ 挂载光驱

mkdir /mnt/cdrom 创建一个目录,用来挂载光驱

mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到挂载点: /mnt/cdrom中

-t iso9660表示光驱的文件格式为iso9660

-o ro表示对光盘的权限为readonly只读

注:mnt目录是用来挂载存储设备的;存储设备可以挂载到多个目录中去;挂载只是映射,不会增加linux硬盘的负担;

2/ 挂载光盘镜像文件(.iso文件):需要先把镜像文件上传到linux系统中去

CRT工具:alt+p进入sftp工具(基于ssh协议的ftp文件传输工具),上传put,下载get;
先进入linux目录,然后上传,文件即保存在该目录:put D:\software\CentOS-6.7-x86_64-bin-DVD1.iso

mkdir /mnt/centos 创建一个目录,用来挂载镜像文件

mount -t iso9660 -o loop /home/hadoop/Centos-6.7.DVD.iso /mnt/centos

注:挂载的资源在重启后即失效,需要重新挂载。要想自动挂载,可以将挂载信息设置到/etc/fstab配置文件中,如下:

/dev/cdrom /mnt/cdrom iso9660 defaults 0 0

/home/hadoop/Centos-6.7.DVD.iso /mnt/centos iso9660 defaults,ro,loop 0 0

3/ 卸载 umount

umount /mnt/cdrom

SSH免密登陆配置:

1 SSH工作机制

1、相关概念

SSH 为 Secure Shell(安全外壳协议)的缩写。

很多ftp、pop和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。而SSH就是专为远程登录会话和其他网络服务提供安全性的协议。

SSH的具体实现是由客户端和服务端的软件组成的

服务端是一个守护进程(sshd),他在后台运行并响应来自客户端的连接请求。

客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。

2、认证机制

从客户端来看,SSH提供两种级别的安全验证。

v 第一种方式(基于口令的安全验证)

只要你知道自己帐号和口令,就可以登录到远程主机。

v 第二种方式(基于密钥的安全验证)

需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。服务器收到请求之后,先在该服务器上你的主目录下寻找你的公用密匙,然后把它和你发送过来的公用密匙进行比较。如果两个密匙一致,服务器就用公用密匙加密“质询”(challenge)并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器。

2 密钥登陆方式配置

假如 A 要登陆 B

在A上操作:

1/ 首先生成密钥对

ssh-keygen (有提示时,直接回车即可)

2/ 再将A自己的公钥拷贝并追加到B的授权列表文件authorized_keys中

ssh-copy-id B的IP

注:ssh 主机ip 远程登录某个机子
注:ssh 主机ip commond 远程登录某个机子执行命令(ssh指令运行目录默认是/root目录)
注:实现免密登录以后,scp远程拷贝,就不需要再输入用户名和密码了;

查看命令帮助文档:命令 --help
向上箭头,表示显示上一个操作命令;

注:虚拟机ping不通百度解决办法:vi /etc/resolv.conf 要在etho里面设置DNS1=192.168.160.2设置网关ip,不让找不到与vmware对应的dns;
eg:nameserver 8.8.8.8

Linux字符编码设置

一般只要是linux安装了中文语言包,则都可以使用英文为默认字符编码时候,也可以识别汉字,出现乱码可以修改字符编码的设置:

方法一:修改环境变量LANG=zh_CN.GBK

方法二:修改配置文件

shell> vi /etc/sysconfig/i18n

将LANG="zh_CN.UTF-8"修改为:LANG=“zh_CN.GBK”

保存并关闭,运行下面的命令使配置生效:

shell> source /etc/sysconfig/i18n

将终端字符编码显示为简体中文:

shell> vi /etc/profile.d/chinese.sh

添加下面这行:export LC_ALL=zh_CN.GBK

shell> source /etc/profile.d/Chinese.sh

VMware虚拟机
移出光标:ctrl+alt
移动光标:上下键或tab键
打开命令行终端:open in Terminal

Linux系统配置网卡的步骤:
根目录下:setup – Network configuration – Device configuration (save)–use DHCP 括号内容改为空格 --Static IP 设置与交换机IP同段不同值 – Netmask子网掩码 255.255.255.0 – Default gateway IP 默认网关 设置与交换机IP同值 – Primary DNSServer 域名服务器 8.8.8.8 – ok – save – save&quit -quit
注:设置完后,需要重启虚拟机;设置好后,可在windows端ping通虚拟机IP;

注:windows系统在做域名解析时,优先去找本地的hosts文件,然后去找公网域名解析器服务;

安装Linux过程中可能遇到的问题及排查解决:
在这里插入图片描述
简单局域网结构:
在这里插入图片描述
注:网关,指路由器或交换机IP

在单个电脑中:
IP:指本电脑的IP地址
gateway:指路由器网关的IP
dns:指域名解析器,配置地址和路由器网关的IP一样,相当于父类。
netmask:子网掩码

Bat命令学习:http://www.cnblogs.com/SunShineYPH/archive/2011/12/13/2285570.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值