Linux常用命令
1.ls命令
#查看当前工作目录的内容
ls
#查看当前工作目录全部内容(包括隐藏文件(以.开头的文件))
ls -a
#以列表形式查看当前工作目录内容
ls -l
ll
#查看当前工作目录下的文件大小(以K,M,G区分),一般与-l选项搭配使用
ls -lh
#实践案例
[vagrant@s1 ~]$ cd /
[vagrant@s1 /]$ ls
bin dev home lib64 mnt proc run srv tmp vagrant
boot etc lib media opt root sbin sys usr var
[vagrant@s1 /]$ ls -alh
total 44K
dr-xr-xr-x. 18 root root 4.0K Jul 4 16:17 .
dr-xr-xr-x. 18 root root 4.0K Jul 4 16:17 ..
-rw-r--r-- 1 root root 0 Jan 27 2016 .autorelabel
lrwxrwxrwx. 1 root root 7 Jan 27 2016 bin -> usr/bin
dr-xr-xr-x. 4 root root 4.0K Jul 5 16:54 boot
drwxr-xr-x 19 root root 3.0K Jul 6 06:00 dev
drwxr-xr-x. 76 root root 8.0K Jul 6 06:00 etc
drwxr-xr-x. 3 root root 20 Jan 27 2016 home
lrwxrwxrwx. 1 root root 7 Jan 27 2016 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Jan 27 2016 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Aug 12 2015 media
drwxr-xr-x. 2 root root 6 Aug 12 2015 mnt
drwxr-xr-x. 5 root root 87 Jul 4 16:16 opt
dr-xr-xr-x 109 root root 0 Jul 6 14:00 proc
2.cd命令(Change Directory)
#切换的目标目录
cd [指定路径]
#切换当前工作目录下(.表示当前目录)
cd ./指定目录
#切换到用户的HOME目录下(~表示用户的HOME目录)
cd ~
# 回到上一级目录
cd ..
# 回到上二级目录
cd ../..
#回到上一历史目录
cd -
#实践案例
[vagrant@s1 home]$ cd /
[vagrant@s1 /]$ cd /home/
[vagrant@s1 home]$ cd ./vagrant/
[vagrant@s1 ~]$ cd ~
[vagrant@s1 ~]$ cd ..
[vagrant@s1 home]$ cd -
/home/vagrant
[vagrant@s1 ~]$
3.pwd命令(Print Word Directory)
#打印当前工作目录
pwd
#实践案例
[vagrant@s1 ~]$ pwd
/home/vagrant
[vagrant@s1 ~]$
4.man命令
#查看命令的帮助
man [所需查看的命令]
#实践案例
[vagrant@s1 ~]$ man wc
NAME
wc - print newline, word, and byte counts for each file
SYNOPSIS
wc [OPTION]... [FILE]...
wc [OPTION]... --files0-from=F
DESCRIPTION
Print newline, word, and byte counts for each FILE, and a total line if
more than one FILE is specified. With no FILE, or when FILE is -, read
standard input. A word is a non-zero-length sequence of characters
delimited by white space. The options below may be used to select
which counts are printed, always in the following order: newline, word,
character, byte, maximum line length.
-c, --bytes
print the byte counts
-m, --chars
print the character counts
-l, --lines
print the newline counts
--files0-from=F
read input from the files specified by NUL-terminated names in
file F; If F is - then read names from standard input
-L, --max-line-length
print the length of the longest line
-w, --words
print the word counts
--help display this help and exit
--version
output version information and exit
5.mkdir命令(Make Directory)
#创建目录
mkdir [指定路径]
#创建连续多层目录(父目录不存在)
mkdir -p [指定路径]
#实践案例
[vagrant@s1 ~]$ ls
java-project
[vagrant@s1 ~]$ mkdir -p java-project1/src
[vagrant@s1 ~]$ ls
java-project java-project1
[vagrant@s1 ~]$ cd java-project1
[vagrant@s1 java-project1]$ ls
src
[vagrant@s1 java-project1]$
6.touch命令
#创建新文件
touch [指定路径]
#实践案例
[vagrant@s1 java-project1]$ cd src
[vagrant@s1 src]$ ls
[vagrant@s1 src]$
[vagrant@s1 src]$ touch hello.txt
[vagrant@s1 src]$ ls
hello.txt
[vagrant@s1 src]$
7.cat命令
#查看文件内容
cat [指定路径]
#实践案例
[vagrant@s1 src]$ echo hello,world > hello.txt
[vagrant@s1 src]$ cat hello.txt
hello,world
[vagrant@s1 src]$
8.more ,less命令
#查看文件内容,可翻页查看(空格或CTRL+f下翻)
more [指定路径]
9.cp命令
#拷贝文件、目录
cp [被复制的文件/目录路径] [目标路径]
#拷贝多重文件、目录
cp -r [被复制的文件/目录路径] [目标路径]
#实践案例
[vagrant@s1 src]$ ls /home/vagrant/java-project/src/
test.txt
[vagrant@s1 src]$ ls /home/vagrant/java-project1/src/
hello.txt
[vagrant@s1 src]$ cp hello.txt /home/vagrant/java-project/src/
[vagrant@s1 src]$ ls /home/vagrant/java-project/src/
hello.txt test.txt
[vagrant@s1 src]$ ls /home/vagrant/java-project1/src/
hello.txt
10.mv命令
#移动文件、目录(目标路径不存在则改名)
mv [被移动的文件/目录路径] [目标路径]
#实践案例
[vagrant@s1 src]$ touch a.txt
[vagrant@s1 src]$ ls
a.txt hello.txt
[vagrant@s1 src]$ ls /home/vagrant/java-project1/src/
a.txt hello.txt
[vagrant@s1 src]$ ls /home/vagrant/java-project/src/
hello.txt test.txt
[vagrant@s1 src]$ mv a.txt /home/vagrant/java-project/src/
[vagrant@s1 src]$ ls /home/vagrant/java-project1/src/
hello.txt
[vagrant@s1 src]$ ls /home/vagrant/java-project/src/
a.txt hello.txt test.txt
[vagrant@s1 src]$ cd /home/vagrant/java-project/src/
[vagrant@s1 src]$ ls
a.txt hello.txt test.txt
[vagrant@s1 src]$ mv a.txt hello1.txt
[vagrant@s1 src]$ ls
hello1.txt hello.txt test.txt
[vagrant@s1 src]$
11.rm命令
#删除文件
rm [指定路径]
#删除目录
rm -r [指定路径]
#强制删除
rm -f
#删除命令支持*模糊搜索
rm -rf hello*
rm -rf *hello
rm -rf *hello*
#实践案例
[vagrant@s1 src]$ ls
hello1.txt hello.txt test.txt
[vagrant@s1 src]$ rm -rf hello*
[vagrant@s1 src]$ ls
test.txt
[vagrant@s1 src]$
12.which命令
#查找命令的程序文件
which [要查找的命令]
#实践案例
[vagrant@s1 src]$ which rm
/usr/bin/rm
[vagrant@s1 src]$
13.find命令
#根据名称查找文件
find [起始路径] -name " 被查找的文件名"
[vagrant@s1 src]$ cd /home/
[vagrant@s1 home]$ tree /home/
/home/
└── vagrant
├── java-project
│ └── src
│ └── test.txt
└── java-project1
└── src
└── hello.txt
5 directories, 2 files
[vagrant@s1 home]$ find /home/ -name "test.txt"
/home/vagrant/java-project/src/test.txt
#根据大小查找文件
find [起始路径] -size +/-n[K、M、G]
[vagrant@s1 home]$ find /home/ -size -10k
/home/
/home/vagrant
/home/vagrant/.bash_logout
/home/vagrant/.bash_profile
/home/vagrant/.bashrc
/home/vagrant/.vbox_version
/home/vagrant/.ssh
/home/vagrant/.ssh/authorized_keys
/home/vagrant/java-project
/home/vagrant/java-project/src
/home/vagrant/java-project/src/test.txt
/home/vagrant/.viminfo
/home/vagrant/.bash_history
/home/vagrant/java-project1
/home/vagrant/java-project1/src
/home/vagrant/java-project1/src/hello.txt
[vagrant@s1 home]$
14.grep命令
#从文件中根据关键字过滤文件行
grep [关键字] [文件路径]
#从文件中根据关键字过滤文件行,并显示行数
grep -n [关键字] [文件路径]
#实践案例
[vagrant@s1 home]$ cd vagrant/java-project/src/
[vagrant@s1 src]$ vim test.txt
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
[vagrant@s1 src]$ grep -n n /home/vagrant/java-project/src/test.txt
1:dsvniqwn
2:sndvn
3:vndsj
4:vnfina
[vagrant@s1 src]$
15.wc命令
#统计文件的字节数、字符数、行数、单词数
wc [文件路径]
#统计文件的字节数
wc -c [文件路径]
#统计文件的字符数
wc -m [文件路径]
#统计文件的行数
wc -l [文件路径]
#统计文件的单词数
wc -w [文件路径]
#实践案例
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
[vagrant@s1 src]$ wc /home/vagrant/java-project/src/test.txt
8 8 47 /home/vagrant/java-project/src/test.txt
[vagrant@s1 src]$
16.echo命令
#在命令行输出指定内容
echo [输出内容]
#在文件中追加内容
echo [追加内容] >> [文件名]
#覆盖文件内容
echo [覆盖内容] > [文件名]
#实践案例
[vagrant@s1 src]$ echo hello
hello
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
[vagrant@s1 src]$ echo 111 >> test.txt
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
111
[vagrant@s1 src]$ echo 222 > test.txt
[vagrant@s1 src]$ cat test.txt
222
[vagrant@s1 src]$
17.tail命令
#查看文件尾部内容
tail [文件名]
#查看文件尾部n行内容
tail -n [文件名]
#查看文件尾部内容,并持续跟踪
tail -f [文件名]
#实践案例
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
[vagrant@s1 src]$ tail -3 /home/vagrant/java-project/src/test.txt
sav
hell
mvqi
[vagrant@s1 src]$
18.ln命令
#创建软连接
ln -s [目标地址] [文件名]
#实践案例
[vagrant@s1 src]$ ln -s /home/vagrant/java-project/src/test.txt app
[vagrant@s1 src]$ ls
app test.txt
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
[vagrant@s1 src]$ echo 111 >> app
[vagrant@s1 src]$ cat test.txt
dsvniqwn
sndvn
vndsj
vnfina
sahu
sav
hell
mvqi
111
[vagrant@s1 src]$
19.su命令
#切换用户
su [用户名]
CTRL+d 返回上一用户
20.vim命令
#vim命令可以对文件进行编辑,需要在虚拟机下载vim编辑器
yum install vim -y
#安装完成后可通过vim命令来编辑文件
vim [文件名]
vim有三种运行模式:
- 命令模式:默认模式,可以通过键盘快捷键控制文件内容
- 输入模式:-通过命令模式进入,可以输入内容进行编辑,按esc退回命令模式
- 底线命令模式:通过命令模式进入,可以对文件进行保存,关闭等操作
Vim详细命令操作可查看
https://blog.csdn.net/qq_58216564/article/details/131596746?spm=1001.2014.3001.5502
或
https://www.yuque.com/dule/vim