1、Linux基本命令
序号 | 命令 | 对应英文 | 作用 |
---|---|---|---|
01 | ls | list | 查看当前文件夹下的内容 |
02 | pwd | print work directory | 查看当前所在文件夹 |
03 | cd[目录名] | change directory | 切换文件夹 |
04 | touch[文件名] | touch | 如果文件不存在,新建文件 |
05 | mkdir[目录名] | make directory | 创建目录 |
06 | rm[文件名] | remove | 删除指定文件名 |
07 | clear | clear | 清屏 |
08 | reset | reset | 清屏 |
快捷键
- Ctrl + shift + = 放大终端窗口的字体显示
- Ctrl + - 缩小终端窗口字体显示
- tab 自动补全
2、基本命令的使用
2.1 查看文件信息:ls
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令。
Linux文件或者目录名称最长可以有265个字符, “.”代表当前目录, “..
”代表上一级目录,以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示。
ls -lah
ls -l 显示详细列表
ls -lh 把文件大小以人性化的方式显示
ls -a 显示所有文件,包含隐藏文件,隐藏文件是以.开头的文件
ll 相当于ls -l
ls 文件名 //进入相应的目录
ll 文件名 //进入相应的目录
ll /shuji/ //进入相应的目录
ls常用参数
参数 | 含义 |
---|---|
-a | 显示指定目录下所有子目录与文件,包括隐藏文件 |
-l | 以列表的方式显示文件的详细信息 |
-h | 配合-l以人性化的方式显示文件大小 |
2.2 清屏:clear
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键: Ctrl + l ( “l” 为小写字母"L" )
2.3 切换工作目录:cd
在使用Unix/Linux的时候,经常需要更换工作目录。 cd命令可以帮助用户切换工作目录。 Linux所有的目录和文件名大小写敏感。
cd后面可跟绝对路径,也可以跟相对路径。如果省略目录,则默认切换到当前用户的主目录
cd命令常用参数
参数 | 含义 |
---|---|
cd | 切换到当前用户的主目录(/home/用户目录),用户登陆的时候,默认的目录就是用户的主目录。 |
cd~ | 切换到当前用户的主目录(/home/用户目录) |
cd. | 切换到当前目录 |
cd.. | 切换到上级目录 |
cd- | 可进入上次所在的目录 |
- 如果路径是从根路径开始的,则路径的前面需要加上 “ / ”,如 “ /mnt ”,通常进入某个目录里的文件夹,前面不用加"/"
cd ./usr //进入当前位置的目录
2.4 显示当前路径:pwd
使用pwd命令可以显示当前的工作目录,该命令很简单,直接输入pwd即可,后面不带参数。
2.5 创建目录:mkdir
通过mkdir命令可以创建一个新的目录。参数-p可递归创建目录。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
mkdir d123 在当前目录下创建文件夹
mkdir /home/admin/d123 以绝对路径创建文件夹
mkdir /home/admin/dry/d123 -p 如果上级目录不存在,则加上-p自动创建父目录
mkdir a b 在当前目录下创建多个文件夹
mkdir a/{c,d} 在指定目录下创建多个文件夹
mkdir .adc 以.开头,是创建隐藏文件夹
2.5 删除文件:rm
可通过rm删除文件或目录。使用rm命令要小心,因为文件删除后不能恢复。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件
常用参数
参数 | 含义 |
---|---|
-i | 以交互式方式进行执行 |
-f | 强制删除,忽略不存在的文件,无需提示 |
-r | 递归的删除目录下的内容,删除文件夹时必须加此参数 |
rm a.txt
rm -r abc 删除文件夹
rm -rf 递归删除目录且不提示
rm * -r 不能删除隐藏文件
rm -rf dry{1,2,3}.txt //连续删除多个文件
2.6 拷贝:cp
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令。
常用参数说明
参数 | 含义 |
---|---|
-i | 交互式复制,在覆盖目标文件之前将给出提示要求用户确认 |
-f | 覆盖已经存在的目标文件而不提示 |
-r | 若给出的源文件是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名。 |
-a | 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性。 |
-v | 显示拷贝进度 |
cp 1.txt 2.txt
cp abc abc_back -r 拷贝文件夹
2.7 移动、重命名:mv
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名。
常用参数说明
参数 | 含义 |
---|---|
-i | 确认交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件 |
-f | 禁止交互式操作,如有覆盖也不会给出提示 |
-v | 显示移动进度 |
mv 1.txt 2.txt 重命名
mv 1.txt abc 移动到指定文件夹
2.8 创建文件:touch
用户可以通过touch来创建一个空的文件。
touch hello.txt
//连续创建多个文件
touch dry{1,2,3}.txt
touch dry{1..4}.txt
- 则会在当前路径下创建名字为hello.txt的空文件
- Linux系统中没有严格的后缀(格式),所以创建文件时可以命名为任意的文件名
2.9 重定向:>
Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中.
ls > test.txt (test.txt如果不存在,则创建,若存在则覆盖原来内容)
ls >> test.txt
>输出的内容会覆盖原来的内容,>>输出的内容则会追加到文件的尾部
3.1 分屏显示:more
查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示,按下h键可以获取帮助。
more test.txt
3.2 管道:|
管道:一个命令的输出可以通过管道做为另一个命令的输入。管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。
ls / |more
3.3 建立链接文件:ln
Linux链接文件类似于Windows下的快捷方式。
链接文件分为软链接和硬链接。
- 软链接:软链接不占用磁盘空间,源文件删除则软链接失效。
- 硬链接:硬链接只能链接普通文件,不能链接目录。
使用格式:
硬链接
ln 源文件 链接文件
[root@localhost ~]# ln /root/anaconda-ks.cfg shuji/aaaa.cfg
[root@localhost ~]# ll shuji
总用量 12
-rw-------. 2 root root 1505 7月 30 00:16 aaaa.cfg
-rw-------. 1 root root 1505 8月 14 13:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 8月 14 13:21 java1.xx
-rw-------. 1 root root 1505 8月 14 13:08 xxx.cfg
//修改链接文件时也同时修改源文件,修改源文件是也同时修改链接文件
[root@localhost ~]# vi anaconda-ks.cfg
[root@localhost ~]# vi shuji/aaaa.cfg
[root@localhost ~]# ls -i /root/anaconda-ks.cfg shuji/aaaa.cfg
265630 /root/anaconda-ks.cfg 265630 shuji/aaaa.cfg //同一个文件
软链接
ln -s 源文件 链接文件
[root@localhost ~]# ln -s /root/anaconda-ks.cfg shuji/ccc.cfg
[root@localhost ~]# ll shuji
总用量 12
-rw-------. 2 root root 1513 8月 14 13:45 aaaa.cfg
-rw-------. 1 root root 1505 8月 14 13:03 anaconda-ks.cfg
lrwxrwxrwx. 1 root root 21 8月 14 13:54 ccc.cfg -> /root/anaconda-ks.cfg
-rw-r--r--. 1 root root 0 8月 14 13:21 java1.xx
-rw-------. 1 root root 1505 8月 14 13:08 xxx.cfg
//修改链接文件时也同时修改源文件,修改源文件是也同时修改链接文件
[root@localhost ~]# ls -i /root/anaconda-ks.cfg shuji/ccc.cfg
265630 /root/anaconda-ks.cfg 289645 shuji/ccc.cfg //不是同一个文件
如果没有-s 选项就代表建立一个硬链接文件,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以-s选项是更常见的形式。
- 注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
3.4 查看或者合并文件内容: cat
cat test.txt test2.txt
cat -n dry1.txt 显示文件行数
3.5 文本搜索: grep
Linux系统中grep命令是一种强大的文本搜索工具, grep允许对文本文件进行模式查找。如果找到匹配模式, grep打印包含模式的所有行。
grep一般格式为:
grep [-选项] ‘搜索内容串’文件名
grep 'a' 1.txt
常用选项说明:
参数 | 含义 |
---|---|
-i | 忽略大小写 |
-v | 显示不包含匹配文本的所有行(相当于求反) |
-n | 显示匹配行及行号 |
grep搜索内容串可以是正则表达式。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
参数 | 含义 |
---|---|
^a | 行首,搜寻以 m 开头的行; grep -n ‘^a’ 1.txt |
ke$ | 行尾,搜寻以 ke 结束的行; grep -n ‘ke$’ 1.txt |
[Ss]igna[Ll] | 匹配 [] 里中一系列字符中的一个;搜寻匹配单词signal、 signaL、 Signal、 SignaL的行;grep-n ‘[Ss]igna[Ll]’ 1.txt |
. | (点)匹配一个非换行符的字符;匹配 e 和 e 之间有任意一个字符,可以匹配 eee, eae,eve,但是不匹配 ee, eaae; grep -n ‘e.e’ 1.txt |
3.6 查找文件:find&locate
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件。
常用用法:
find . -name test.sh 查找当前目录下所有名为test.sh的文件
[root@localhost ~]# find /root -name java牛牛
/root/java牛牛
[root@localhost ~]# find . -name java牛牛
./java牛牛
find . -name '*.sh' 查找当前目录下所有后缀为.sh的文件
[root@localhost ~]# find . -name '*.xxx'
./aaa.xxx
[root@localhost ~]# find . -name 'java*' //查找以java开头的文件
./shuji/java1.xx
./书籍1/java编程
./java牛牛
./java牛牛/java.pdf
[root@localhost ~]# find . -name 'java??'//代表java的后面跟两个字符
./书籍1/java编程
./java牛牛
[root@localhost ~]# find / -name "java编[程码]思想"//查找带文件名中间带程或码的文件
/root/java编程思想
/root/java编码思想
[root@localhost ~]# find . -iname Anaconda-ks.cfg //在-name的前面加上i则不区分大小写
./shuji/anaconda-ks.cfg
./anaconda-ks.cfg
[root@localhost ~]# find . -size +2k //查找文件大小为2k以上的文件
//查找10天前的文件
[root@localhost ~]# find . -mtime +10
./.cshrc
./.bash_logout
./.bash_profile
./install.log.syslog
./.bashrc
./.tcshrc
./install.log
locate
语法:
locate 文件名
[root@localhost ~]# locate 1.txt
3.7 归档管理:tar
计算机中的数据经常需要备份, tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
tar使用格式: tar [参数] 打包文件名 文件
打包
tar cvf a.tar *.txt
解包
tar xvf a.tar -C atar
- tar命令很特殊,其参数前面可以使用“-”,也可以不使用。
常用参数:
参数 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称 |
-t | 列出档案中包含的文件 |
-x | 解开档案文件 |
3.8 文件压缩解压: gzip
tar与gzip命令结合使用实现文件打包、压缩。 tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用参数说明:
参数 | 含义 |
---|---|
-d | 解压 |
-f | 压缩所有子目录 |
tar这个命令并没有压缩的功能,它只是一个打包的命令,但是在tar命令中增加一个选项(-z)可以调用gzip实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法: tar cvzf 压缩包包名 文件1 文件2…
-z 指定压缩包的格式:file.tar.gz
解压用法:tar zxvf 压缩包包名
-z 指定压缩包的格式:file.tar.gz
- 解压到指定目录:-C(大写字母C)
3.9 文件压缩解压: bzip2
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样)。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程。
压缩用法: tar -jcvf 压缩包包名 文件…(tar jcvf bk.tar.bz2 *.c)
解压用法: tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
4.1 文件压缩解压: zip、 unzip
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip。
压缩文件: zip [-r] 目标文件(没有扩展名) 源文件
解压文件: unzip -d 解压后目录文件 压缩文件
4.2 查看命令位置: which
4.3 修改文件权限: chmod
chmod 修改文件权限有两种使用格式:字母法与数字法。
字母法: chmod u/g/o/a +/-/= rwx 文件
[u/g/o/a] | 含义 |
---|---|
u | user 表示该文件的所有者 |
g | group 表示与该文件的所有者属于同一组( group )者,即用户组 |
o | other 表示其他以外的人 |
a | all 表示这三者皆是 |
[+=-] | 含义 |
---|---|
+ | 增加权限 |
= | 设定权限 |
- | 撤销权限 |
[rwx] | 含义 |
---|---|
r | read 表示可读取,对于一个目录,如果没有r权限,那么就意味着不能通过ls查看这个目录的内容。 |
w | write 表示可写入,对于一个目录,如果没有w权限,那么就意味着不能在目录下创建新的文件。 |
x | excute 表示可执行,对于一个目录,如果没有x权限,那么就意味着不能通过cd进入这个目录。 |
- 如果需要同时进行设定拥有者、同组者以及其他人的权限,参考如下:
- 数字法: “rwx” 这些权限也可以用数字来代替
字母 | 含义 |
---|---|
r | 读取权限,数字代号为 “4” |
w | 写入权限,数字代号为 “2” |
x | 执行权限,数字代号为 “1” |
- | 不具任何权限,数字代号为 “0” |
如执行: chmod u=rwx,g=rx,o=r filename 就等同于: chmod u=7,g=5,o=4 filename
chmod 751 file:
- 文件所有者:读、写、执行权限
- 同组用户:读、执行的权限
- 其它用户:执行的权限
注意:如果想递归所有目录加上相同权限,需要加上参数“ -R ”。 如: chmod 777 test/ -R 递归 test 目录下所有文件加 777 权限。
4.4 切换到管理员账号:su
Centos下切换到root的简单命令:su
4.5 设置用户密码: passwd
在Unix/Linux中,超级用户可以使用passwd命令为普通用户设置或修改用户密码。用户也可以直接使用该命令来修改自己的密码,而无需在命令后面使用用户名。
4.6 退出登录账户: exit
- 如果是图形界面,退出当前终端
- 如果是使用ssh远程登录,退出登陆账户
- 如果是切换后的登陆用户,退出则返回上一个登陆账号
4.7 查看登录用户: who
who命令用于查看当前所有登录系统的用户信息。
常用参数:
选项 | 含义 |
---|---|
-q或–count | 只显示用户的登录账号和登录用户的数量 |
-u或–heading | 显示列标题 |
4.8 关机重启: reboot、 shutdown
命令 | 含义 |
---|---|
reboot | 重新启动操作系统 |
shutdown –r now | 重新启动操作系统, shutdown会给别的用户提示 |
shutdown -h now | 立刻关机,其中now相当于时间为0的状态 |
shutdown -h 20:25 | 系统在今天的20:25 会关机 |
shutdown -h +10 | 系统再过十分钟后自动关机 |
4.9 下载命令
wget 网址