文件和目录
关机
shutdown -h now 关闭系统
init 0 关闭系统
shutdown -h hours:minutes & 定时关闭系统
重启
init 6 重启系统
reboot 重启
文件和目录
cd / ——>进入Linux的根目录(/代表的就是根目录)
cd /home ——>进入用户的家目录(home是用户的家目录,~代表同样是用户的家目录)
cd .. ——>返回上一层目录
cd - ——>返回上次所在的目录
pwd ——>显示当前目录的路径
ls ——>查看当前目录中的文件和目录
ls -F ——>查看当前目录中的文件
ls -l ——>显示当前目录中的文件和目录的详细资料--简写ll
ls -a ——>显示隐藏文件
ls -la ——>显示隐藏文件的详细信息
tree ——>显示文件和目录由根目录开始的树形结构
mkdir test ——>在当前目录创建目录
mkdir /root ——>在指定的目录创建目录
mkdir test1 test2 ——>同时创建两个目录
mkdir -p /tmp/opt ——>创建一个目录树
touch a.txt ——>创建一个文件
touch a.txt b.txt ——>创建多个文件
rm -f test.txt ——>删除一个文件
rm -f test.txt test1.txt ——>删除多个文件
rm -r test ——>删除一个目录及目录里的内容
rm -r test test1 ——>删除多个目录
rm -fr test ——>不区分目录还是文件直接删除(慎用)
mv /root/opt / ——>移动,将root下的opt移动到/下
mv /opt /abc ——>重名了,将/下的opt重命名为/下的abc(当mv的二个目录存在为移动命令,当mv的第二个目录不存在为重命名命令)
cp a.txt /root ——>复制,将a.txt复制到root目录下
cp test/* ./ ——>复制,将test目录下的所有文件复制到当前目录下(.代表当前目录)
cp test /root ——>复制,将test的目录复制到root目录下
ln -s test(物理目录) t ——>给test目录创建一个命名为t的软连接,软连接可以理解为Windows系统某个app的快捷方式
iconv -l ——>列出已知的编码
文件搜索
find / -name file 从 '/' 开始搜索目标文件和目录
find / -user plus 搜索属于用户 'plus' 的文件和目录
find /home/user1 -name *.xml 在某个目录 (/ home/user1)中搜索带有'.xml' 结尾的文件
find ~ -type f -mtime -10 搜索某个目录下(~)下10天内被创建或者修改过的文件 which hdfs 显示一个二进制文件或可执行文件的完整路径
用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
passwd 修改密码
passwd user1 修改一个用户的密码 (只允许root执行)
文件的权限"+" 设置权限,"-" 用于取消
chgrp plus hadoop -R 将hadoop目录及其子目录、文件的所属组修改为plus
chown plus hadoop -R 将hadoop目录及其子目录、文件的所属者修改为plus
ls -lh 显示权限
chmod ugo+rwx test 设置目录的所有者(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx test 删除群组(g)与其他人(o)对目录的读写执行权限
find / -perm -u+s 罗列一个系统中所有使用了SUID控制的文件
chmod u+s /bin/file1 设置一个二进制文件的 SUID 位 - 运行该文件的用户也被赋予和所有者同样的权限
chmod u-s /bin/file1 禁用一个二进制文件的 SUID位
chmod g+s /home/public 设置一个目录的SGID 位 - 类似SUID ,不过这是针对目录的
chmod g-s /home/public 禁用一个目录的 SGID 位
chmod o+t /home/public 设置一个文件的 STIKY 位 - 只允许合法所有人删除文件
chmod o-t /home/public 禁用一个目录的 STIKY 位
打包和压缩文件
bunzip2 test.bz2 解压 'test.bz2'的文件
bzip2 test 压缩 'test' 的文件为bz2格式
gunzip test.gz 解压 'test.gz'的文件
gzip test 压缩 'test' 的文件为gz格式
gzip -9 test 最大程度压缩
rar a test.rar test_file 创建一个叫做 'test.rar' 的包
rar a test.rar test test2 dir1 同时压缩 'test', 'test2' 以及目录 'dir1'
rar x test.rar 解压rar包
unrar x test.rar 解压rar包
tar -cvf archive.tar test创建一个非压缩的 tarball
tar -cvf archive.tar test test1 dir1 创建一个包含了 'test', 'test2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip test.zip test创建一个zip格式的压缩包
zip -r test.zip test test2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip test.zip 解压一个zip格式压缩包
RPM 包
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -qa | grep mysql 显示所有名称中包含 "mysql" 字样的rpm包
rpm -qa | grep -i mysql 显示所有名称中包含 "mysql" 字样的rpm包不区分大小写
rpm -e--nodeps package.rpm 卸载rpm包
YUM命令
yum install package_name 下载并安装一个rpm包
yum update package_name 更新一个rpm包
yum remove package_name 删除一个rpm包
yum list 列出当前系统中安装的所有包
查看文件内容
cat file1 从第一个字节开始正向查看文件的内容
tac file1 从最后一行开始反向查看一个文件的内容
more file1 查看一个长文件的内容
less file1 类似于 'more' 命令,但是它允许在文件中和正向操作一样的反向操作
head -2 file1 查看一个文件的前两行
tail -2 file1 查看一个文件的最后两行
vi命令
注意:大写的命令需要shift+对应的小写字母
插入文本
i 在当前字符前插入文本
I 在行首插入文本
a 在当前字符后添加文本
A 在行末添加文本
o 在当前行后面插入一空行
O 在当前行前面插入一空行
R 以改写方式输入文本
移动光标
0 移到行首
Ctrl-F 向前翻页
Ctrl-B 向后翻页
nG 到第n行
G 到最后一行
$ 到行尾
( 到句子的开头
) 到句子的末尾
{ 到段落的开头
} 到段落的末尾
删除文本
r 替换一个字符
c 修改文本直到按下Esc健
cw 修改一个词
dd 删除一行
d+方向键的上 删除当前行加上一行
d+方向键的下 删除当前行加下一行
退出
:w filename 将当前文件写入一个新的文件文件
:x 保存(如果当前文件修改过)并退出
:wq 保存(如果当前文件修改过)并退出
:q! 不保存文件,直接退出(也称强制退出)
:q 退出vi