1.查看当前目录下的文件
ls
ls -l 显示所有文件及其详细信息,包括权限、连接数量、用户、组、大小、日期、文件名。
ls -hl 和上面一样,但是文件大小不是字节,会显示多少K,更直观。
ls -a 显示所有文件,包括隐藏文件(以.开头),其中有两个特殊文件:.和..分别表示当前目录和上级目录
2.用户当前所在目录
Pwd 输出用户当前所在目录
pwd -P 输出用户当前实际所在目录(软连接时有用)
3.查看某一目录占用空间
du -sh /dir
4.切换目录
cd
如,切到根目录:
cd /
切到etc目录
cd /etc
回到上级目录
cd ..
5.创建目录
mkdir
如,在当前目录下创建一个名为config的目录
mkdir config
目录中带子目录,如,创建aa/bb/cc三级目录
mkdir -p aa/bb/cc
6.删除目录
rmdir
如,删除上面刚创建的目录
rmdir config
注:如果目录中有文件是删除不了的。
使用如下命令:
rm -rf config
(其中-f是不提示直接删除的意思,-r为递归)
7.创建文件
touch
如:创建aa.txt
touch aa.txt
echo
如:创建cc.txt,并添加内容:12345
echo “12345” > cc.txt
8.复制文件
cp命令
如,当前目录下有文件aa.txt,有子目录testdir
将aa.txt复制到子目录testdir中:
cp aa.txt testdir
参数 :
-i
cp -i aa.txt testdir 加参数-i,如果有同名文件,会提示是否覆盖。
-a
保留文件原有的属性。即,如果不使用-a,则复制完的新文件的创建者为当前用户,如果加了参数-a后,文件的创建者还是原作者。
9.复制文件到另一电脑
scp
复制文件
如:将当前目录下的log.txt复制到192.168.202.128机器的/opt/log下。
scp log.txt root@192.168.202.128:/opt/log/
复制目录
如:需要将当前目录下的storm目录整个复制到192.168.202.128机器的/opt下。
注:/opt目录目前是空的,复制的时候会将storm目录一起复制过去:
scp -r storm root@192.168.202.128:/opt/
10.查看文件类型
file aa.txt
11.删除文件
rm
如删除aa.txt
rm aa.txt 会弹出一个提示问你是否删除。
参数:-f
不想有提示,直接删除,使用参数 -f
rm -f aa.txt
参数:-r
递归删除的意思
rm –rf xxx.log(删除某一文件)
rm –rf *(删除当前目录下所有文件)
12.移动文件
mv
如,将当前目录中的bb.txt移动到子目录config中
mv bb.txt config
mv命令还可以用来修改文件名,如将bb.txt改为bc.txt
mv bb.txt bc.txt
13.修改文件内容
echo
echo “123” > con.txt
将123写入con.txt文件。
echo “456” >> con.txt
将456追加到con.txt中。
vi
如:vi bb.txt
就可以在bb.txt中输入内容了。
添加完后输入shift+:进入命令模式
wq 保存并退出
q!强制退出。
vim
如:vim hosts
就进入了文件内部,此时按下i键,就可以进行修改了。
修改完后按esc键退出编辑状态。
输入shift+:进入命令模式
wq 保存并退出
q!强制退出。
14.查看文件
cat
如:cat bb.txt
就可以查看bb.txt的文件内容了。
参数:-n
显示每行的行号。
cat -n bb.txt
more
如:more xxx.log
显示第一页,空格向下翻页,q退出
查看时还可以查找,输入/string,就可以查看文件中包含string的地方。
less
如:less xxx.log
和more差不多,more只能向后翻页,less可以向前翻页。
使用方向键向上或向下看。
head
只显示前几行,默认10行
如:head -20 xxx.log
只显示前20行
tail
只显示后几行,默认10行
和head差不多,一个是前面,一个是后面。
如:tail -30 xxx.log
tail -n 200 xxx.log
vi
vi是修改文件的命令,也可以用来查看。
vi xxx.log(shift+:进入命令模式)
命令模式输入set nu (进入按页查看)
G(定位到最后一页)
Ctrl+B(上一页)
Ctrl+F(下一页)、
命令模式输入:q!(退出)
15.符号链接
符号链接又叫软链接
ln -s <带路径的文件名或目录名> <linkfile>
相当于创建一个快捷方式。
当进入符号链接的目录时,使用ll可以看到真实目录下的所有文件。
但是使用pwd时显示的是符号连接的路径。
如果使用pwd -P时,显示的是真实的路径。
16.硬链接
ln <带路径的文件名> <带路径的目录>
如:在dir1目录下有一个文件abc.txt,创建一个硬连接到dir2中。
ln /usr/local/dir1/abc.txt /usr/local/dir2
这样在dir1和dir2两个目录中都有abc.txt,而且是同一个文件。
也可以ln abc.txt def.txt
即第二个文件名称不一样,但是内容是同一个东西。
硬链接和软链接的区别
Linux中每个文件都有一个唯一的index。
硬链接:创建一个硬链接后,新文件的属性还是一个文件,和原文件的链接数都变为2。两文件的index相同,即相当于多了一个文件,但只是一个指针指向原文件。
软链接:创建一个软链接后,新文件的属性就是一个超链接文件,和原文件有着不同的index。可以理解为创建了一个新的文件,其内部记录的是另一个文件的路径。
移动原文件后,硬连接不受影响(因为它们在系统中就是同一个index),软链接找不到文件(因为它记录的是原文件路径)
17.解压文件
解压zip文件:
如/opt/solr-5.5.3.zip
cd /opt
unzip solr-5.5.3.zip
将其解压到当前目录
解压gz文件:
tar -zxvf zookeeper-3.4.8.tar.gz
或
tar -zxf zookeeper-3.4.8.tar.gz
18.查找文件
find path -option [ -print ] [ -exec -ok command ] {} \;
path: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
-print: find命令将匹配的文件输出到标准输出。
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
-ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
#-print 将查找到的文件输出到标准输出
#-exec command {} \; —–将查到的文件执行command操作,{} 和 \;之间有空格
-name filename #查找名为filename的文件
如:在当前目录查找XXX.log
find . -name xxx.log
在全目录下查找:
find / -name xxx.log