记录一下自己整理的linux常用操作命令。
1.文件夹操作
ls /path/ 查看目录信息
ls -l /path/ 查看详细信息(或者直接输入ll)
ls -a/path/ 查看隐藏文件
ls ../ 回退目录
pwd 查看当前所在目录的绝对路径
cd /path 切换目录,如果不带参数则切换到用户主目录
mkdir ./test 创建文件夹
mkdir -p a/b/c 如果要创建的文件夹的父目录不存在,则自动创建
rmdir 删除文件夹(只能删除空的文件夹)
rm -r /a/b (可以删除非空文件夹)
rm filename 删除文件
rm -rf 强制删除文件或文件夹
补充:ctrl+insert为复制 shift+insert为粘贴
2.创建文件
常见的三种方式
*touch a.avi 创建一个空的文件
*echo "chuanzhiboke" > aaa.txt 把">"左边的输出放到右边的文件里(>>是追加内容)
*vi bb.txt 用文本编辑器编辑一个文件并保存
进去按下"i"才可以输入,输入完毕按"ESC"退出输入状态,然后再输入":q"就可以退出编辑了
按":wq"是保存退出,如果是只读文件,"wq"后面加!是强制保存
3.移动文件夹
mv 文件1的目录加文件名 移动到的文件的目录
4.拷贝文件
cp -r srcFile destFile
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件
5.查看文本文件内容
cat 文件名 (显示小的文件一下显示出来,比较方便)
more 文件名 (翻页:空格,往回翻:b,退出":q"或者ctrl+c)
less 文件名 (更强大可以用"上"和"下"一行一行翻页,退出q)
"/内容" 可以搜索内容
head -10 文件 查看文件的头部10行
tail -20 文件 查看文件的尾部20行
tail -f 文件 事实刷新显示文件的尾部,文件后面添加信息可以同步的显示出来
1.打包/解包
tar -cvf 打出来的包名.tar 被打包的文件夹或文件(空格分隔)
c:表示创建一个打包文档
v:显示打包的速度
f:表示要打成tar包的名字
tar -xvf 已打包的包名.tar
x:表示从一个现存的tar文件中解包操作
2.压缩/解压
gzip 没压缩的包名.tar 压缩(压缩后tar后面会加上.gz后缀名)
gzip -d 压缩后的包名.tar.gz 解压
一次性打包压缩:
tar -czvf 压缩后的文件名 目标文件夹
z:代表以zip格式打包压缩
也可以这样写:zip -r 压缩后的文件名 目标文件夹
一次性解包解压:
tar -xzvf 压缩过的文件
也可以这样写:unzip 压缩的文件
解压到指定的目录下:
tar -xzvf 压缩过的文件 -C 目标目录
1.linux系统中对文件权限的描述机制
在查看文件详细信息的时候在文件前面会有一串英文字母
d r w x r w x r - x
类型 拥有者 所属组 其他人
类型如果是"d"代表是文件夹,是"-"代表是文件
上面的权限信息可以表示为3组二进制符号: 111 111 101
有权限写1,没权限写0
进而可以表示为3个十进制数: 7 7 5
2.修改权限
chmod u+rwx file 为file添加或取消所属用户的权限
"+"号前面
u:代表所属用户
o:代表其他用户
g:代表所属组的成员用户
"+":表示添加权限
"-":表示减少权限
chmod 567 file 用数字也可以表示权限
5 ---> 101 ---> r-x
6 ---> 110 ---> rw-
7 ---> 111 ---> rwx
3.通过实例理解rwx三种权限的含义
r 对文件:是否可以读取文件的内容 cat
对文件夹:是否可以列出文件夹内的子节点信息 ls
w 对文件:是否可以修改文件的内容 >> vi
对文件夹:是否可以更改文件夹的子节点
x 对文件:是否可当做一个命令或者程序来执行
对文件夹:是否可cd进入
4.修改文件的所有者
chown root:root 文件名
将文件的所有者改成hadoop用户,所属组改成hadoop组
1.添加用户
useradd 用户名
需要设置密码才能正常登陆:
passwd 要被添加密码的用户
然后再输入新密码
2.删除用户
userdel 用户名 此删除方法,会保留用户的主目录
userdel -r 用户名 此删除方法不保留用户的主目录
3.修改用户属性
*修改用户名(login)usermod -l new old (把b改为a)
例:usermod -l zdx666 zdx123
*添加组 usermod -g sys tom
例:usermod -g root itcast 将itcast用户的组改为root组
*修改用户的宿主目录
例:usermod -d /home/itcast itcast0830 将itcast0380的主目录改成/home/itcast
(得手动创建/home/itcast这个目录)
添加多个组 usermod -G sys,root tom
给tom用户添加了两个组
锁定用户账户密码
解锁用户帐号
1.创建用户组
groupadd 组名
2.删除用户组
groupdel 组名
3.修改用户组的组名
groupmod -n newname grpname
4.查看用户所属的组
groups itcast
1.用户配置信息存放位置
保存用户信息的文件:/etc/passwd
保存密码的文件:/etc/shadow
2.用户组配置信息存放位置
保存用户组的文件:/etc/group
保存用户组密码的文件:/etc/gshadow(设置组管理员时才有用)
1.网卡地址配置
检查网络连通性:ping destip
查看ip地址:ifconfig
修改ip地址(临时修改):ifconfig 指定的以太网卡 修改后的ip地址 netmask 255.255.255.0
通过配置文件修改ip地址(永久修改):
vi /etc/sysconfig/network-scripts/ifcfg-网络接口名称(默认都是第一个) 修改该配置文件即可改ip地址
(1)BOOTPROTO值改为static
(2)在最后加
IPADDR=192.168.75.100
GATEWAY=192.168.75.1
NETMASK=255.255.255.0
DNS1=192.168.75.1
通过setup修改网络配置:
在root权限下执行setup指令可以打开一个带菜单的伪图形界面来修改网络配置
(在Options里把编码格式改为utf-8)
service network restart
重启网络服务
2.主机名配置管理
查看主机名:hostname指令
修改主机名:vi /etc/sysconfig/network 修改其中的hostname配置项
修改完成之后要重启服务器才能生效
主机名-IP映射
服务器网络寻址时默认是现在本地的hosts文件中查找IP映射,通过修改hosts来映射局域网内部的主机名非常方便
实现方法,将局域网内的每一台主机的“hostname-ip”写入每一台主机的hosts文件中:
vi /etc/hosts
192.168.2.150 itcast-server-01
192.168.2.151 itcast-server-02
192.168.2.152 itcast-server-03
3.网络服务启动与停止
列出系统所有应用服务状态
service --status-all
查看指定服务运行状态
service 服务名 status
启动服务
service 服务名 start
停止服务
service 服务名 stop
列出所有服务的随机自动启动配置:
chkconfig --list
关闭服务的随机自启
chkconfig 服务名 off
开启服务的随机自启
chkconfig 服务名 on
常用示例:
重启网络服务 service network restart
停止httpd service httpd stop
启动 httpd service httpd start
关闭防火墙服务 service iptables stop
关闭防火墙自动启动 chkconfig iptables off
1.磁盘/内存使用信息查看
df -h 查看磁盘空间状态信息
du -sh * 查看指定目录下所有子目录和文件的汇总大小
free 查看内存使用状况
2.进程管理
top 查看实时刷新的系统进程信息
ps -ef 查看系统中当前瞬间的进程信息快照
ps -ef|grep myshell.sh 搜索myshell进程的信息
kill -9 pid 杀掉进程(-9表示强制杀死)
3.sudo权限的配置
给普通用户赋予sudo权限:
进入root用户修改vi /etc/sudoers文件里的信息
加入hadoop ALL=(ALL) ALL
意思是让hadoop用户可以在任何主机以任何身份执行所有命令
sudo -lU itcast 查看itcast用户是否配置成功
配置成功后itcast用户就可以在sudo命令下也能够添加用户了:sudo useradd newuser
4.vi编辑器
vi 文件名 执行vi编辑器进行编辑
按i进入编辑模式
按ESC退回一般模式
一般模式下输入":wq"退出
在文本里撤销的话,先回到一般模式,然后按u就行了
一下删除5行,按下5再按两下d
保存的另一种方法:在一般模式下按shift+zz就好
5.修改系统的默认启动级别
vi /etc/inittab 修改这里面的文件
6.其他指令
grep(搜索的是文件的内容)
grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本内容,并把匹配的行打印出来\
示例:太多,略
和其他指令结合搜索
service --status-all | grep 'httpd' 搜索有'httpd'关键字的所有服务的状态
find(可根据文件名,文件时间,文件大小等等条件进行查找)
按照文件名查找
find ./ -name '*.txt'
按照文件类型
find ./ -type f f表示普通文件
find ./ -type l l表示快捷方式文件
wc
统计文本信息(行数、词数、字符数)
wc -c/w/l
如果直接写wc 文件 就统计出所有信息
date
查看当前时间
date "+%Y%m%d" 这是格式化为年月日
date -s "年-月-日 时:分:秒" 更改当前时间为指定的时间
echo
打印一个字符串
echo "字符串"
如果提前定义好了一个字符串 str="123"
那么 $echo 表示输出这个字符串
whoami 查询当前登陆者的身份
which 查询指定命令的$PATH路径
jdk安装:
1 alt+p进入sftp命令行,将文件从真机的目录里上传到linux虚拟机里: put jdk在真机的目录
2 解压到指定的目录下:tar -zxvf jdk -C 指定的目录(/usr/share)
3 配置环境变量:vi /etc/profile 进入这个文件,配置环境变量
在最后一行加入
export JAVA_HOME=/usr/share/jdk 和windows一样,创建一个JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin
4 执行编辑后的文件
source /etc/profile
tomcat安装
1 上传解压后
2 去bin目录里执行一个脚本 sh startup.sh
3 检查有没有执行的命令 略
4 记得把防火墙关掉
5 在外面进入网页访问tomcat
eclipse安装
简单 略 直接下载包下一步即可
软件包管理器RPM的安装
安装Mysql服务端:
1 先上传到linux系统中
2 用rpm安装MySQL,命令:rpm -ivh MySQL-server-5.1.73-1.glibc23.i386.rpm
3 因为和系统中已有的文件有冲突,需要删除系统上已经有的MySQL文件
rpm -qa | grep mysql 用rpm查询所有软件包太多,加条件查询到mysql的软件包
rpm -e mysql-libs-5.1.66-2.el6_3.i686 --nodeps 删除这个包,nodeps是忽略其他依赖
4 重新安装
安装Mysql客户端:
rpm -ivh MySQL-client-5.1.73-1.glibc23.i386.rpm
然后给mysql的root用户设置密码:/usr/bin/mysql_secure_installation
后面提示的除了"是否禁止远程调用"设置为n,其他都设置y
yum在线安装软件
作用:安装指定的RPM(软件包)
yum install tomcat 安装tomcat这个软件包
secureCRT
输入:help命令,显示该FTP提供所有的命令
pwd: 查询linux主机所在目录(也就是远程主机目录)
lpwd: 查询本地目录(一般指windows上传文件的目录:我们可以通过查看"选项"下拉框中的"会话选项",我们知道本地上传目录为:D:/我的文档)
ls: 查询连接到当前linux主机所在目录有哪些文件
lls: 查询当前本地上传目录有哪些文件
cd: 改变远程上传目录
lcd: 改变本地上传目录的路径
get: 将远程目录中文件下载到本地目录
put: 将本地目录中文件上传到远程主机(linux)
quit: 断开FTP连接
securecrt 按下Ctrl+S会假死,在按下Ctrl+Q就可解决