Linux基本常用命令大全(附案例实战)(一)

简介: Linux基本常用命令大全(附案例实战)

1、基本命令

1.1 命令入门

1.1.1 命令提示符详解

[root@localhost ~]#     #/root
[gtjin@localhost ~]$     #/home/gtjin
[root@node1 ~]#     #/root

用户名@主机名 当前目录 #系统权限 $普通权限


1.1.2 命令格式

命令 [选项] [参数] (三者之间要有空格,区分大小写)


command [-options] [args]


案例演示


[root@node1 ~]# ls
anaconda-ks.cfg
[root@node1 ~]# ls -a
. .. anaconda-ks.cfg .bash_history .bash_logout .bash_profile .bashrc .cshrc .tcshrc .viminfo
[root@node1 ~]# ls -a -l
总用量 32
dr-xr-x---.  2 root root  151 8月  18 12:13.
dr-xr-xr-x. 17 root root  244 8月  16 21:30..
-rw-------.  1 root root 1201 8月  17 17:51anaconda-ks.cfg
-rw-------.  1 root root 2660 8月  17 18:21.bash_history
-rw-r--r--.  1 root root   18 12月 29 2013.bash_logout
-rw-r--r--.  1 root root  176 12月 29 2013.bash_profile
-rw-r--r--.  1 root root  176 12月 29 2013.bashrc
-rw-r--r--.  1 root root  100 12月 29 2013.cshrc
-rw-r--r--.  1 root root  129 12月 29 2013.tcshrc
-rw-------   1 root root 3948 8月  17 18:15.viminfo


1.2 获取命令的帮助

查手册


man 命令


命令 --help


搜索引擎


1.2.1 查手册&搜索引擎

手册见《参考手册&资料》


搜索:必应 www.bing.com、谷歌、百度 等


1.2.2 man

[root@node1 ~]# man ls


q退出命令查看 看到的全是英文,是不是很酸爽,慢慢多看看就好了。如果你英语 烂到完全看不懂,那我再教你一招,汉化man提示信息。 要想汉化man提示信息,系统中需要安装man-pages-zh-CN软件 包。

[root@node1 ~]# yum search man-pages-zh-CN
[root@node1 ~]# yum install man-pages-zh-CN -y

是不是可以使用了呢,相信你已经迫不及待的想要测试一把了。


 [root@node1 ~]# man ls


但是有的同学发现还是英文,怎么回事?安装系统的时候,没有修 改安装语言环境,还是使用的默认英语的语言环境。虽然你安装了 man的中文包,但是系统的语言还是英文环境,

[root@node1 ~]# echo $LANG 
en_US.UTF-8

所以需要修改系统的语言环境。


#查看系当前语言包
[root@node1 ~]# locale
#临时修改,重启服务器之后就会还原之前的设置
[root@node1 ~]# LANG="zh_CN.UTF-8" #修改为中
[root@node1 ~]# LANG="en_US.UTF-8" #修改为英
#永久修改就要把配置写入文件里面
[root@node1 ~]# vim /etc/locale.conf
LANG=zh_CN.UTF8
#如果将来遇到没有中文包的系统,需要:
#查看系统拥有语言包
[root@node1 ~]# locale -a|grep zh_CN*
(zh_CN.UTF-8是简体中文,如果没有zh_CN.UTF-8,就安装语言包,如果存在可以直接设置)
#安装简体中文语言包
[root@node1 ~]# yum install kde-l10n-Chinese


然后再次测试便有中文信息了。


man的使用:


enter向下一行

空格按页向下翻 b向上翻页

p直接翻到首页

查找按 /要查找的内容,查找 下一个/上一个:按n/N;

退出按q

1.2.3 命令 --help

[root@node1 ~]# mv --help


1.3 echo

[root@node1 ~]# help echo

#echo -n表示不要另起新行
[root@node1 ~]# echo "hello world"
hello world
[root@node1 ~]# echo -n "hello world"
hello world[root@node1 ~]#
#-e表示解释逃逸字符
[root@node1 ~]# echo -e "hello \nworld"
hello
world
[root@node1 ~]# echo "hello \nworld"
hello \nworld

1.4 环境变量:PATH

当在shell中执行命令的时候,默认到PATH指定的路径中查找可执 行文件。 如果在PATH中的多个目录都包含该可执行文件,则执行最先找到 的。

[root@node1 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

如果找不到,这提示命令不识别。


1.5 ls

ls命令用于列出目录内容


ls :添加-l以长格式输出,列出根目录下内容的详细列表


ls -l :也可以后面跟多个目录,列出多个目录的内容


ls / /usr :也可以通过命令的别名列出详细列表


1.6 pwd

打印当前工作目录路径

[root@node1 ~]# pwd
/root

1.7 cd

cd用于更改shell工作目录,也就是切换目录 change directory


#如果cd后什么都不写,表示直接回当前用户家目录
cd
cd /etc
#cd后跟波浪线,也表示回用户家目录
cd ~
#cd后也可以跟减号(-)用以表示回到最后一次切换之前的
目录,多次使用减号在最近两个目录之间切换
cd /etc/sysconfig/network-scritps
cd  -
#root用户可以直接通过绝对路径进到普通用户的家目录
cd /home/god
cd ..
ll
#也可以直接跟波浪线用户名表示直接进入到某个用户的家目录

1.8 mkdir

mkdir用于创建目录

mkdir abc
mkdir a1 a2 a3
#如果直接创建多层目录,则报错,因为默认只能创建最后一级目录
mkdir a/b/c
#可以添加-p选项,用以创建多层目录,因为系统发现某一级目录不存在的时候创建父目录
mkdir -p a/b/c
#也可以在mkdir后跟多个目录,用于一次性创建多个目录
mkdir ./abc/1dir ./abc/2dir ./abc/3dir
#但是可以使用大括号高效创建相似的目录
mkdir ./abc/{x,y,z}dir
mkdir abc/{a..c}dir

1.9 cp

cp 文件… 目标目录


拷贝文件…到目标目录,可以同时拷贝多个文件,文件名之间用空 格隔开

[root@node1 ~]# ls
anaconda-ks.cfg test
[root@node1 ~]# ls test/
a a1 a2 a3 abc
[root@node1 ~]# cp anaconda-ks.cfg test/abc/
[root@node1 ~]# ls test/abc/
1dir 2dir 3dir adir anaconda-ks.cfg bdir cdir xdir ydir zdir
[root@node1 ~]# cd test/abc/xdir/
[root@node1 xdir]# pwd
/root/test/abc/xdir
[root@node1 xdir]# ls
#太麻烦了
[root@node1 xdir]# cp /root/anaconda-ks.cfg /root/test/abc/xdir/
[root@node1 xdir]# ls
anaconda-ks.cfg
#简化版
[root@node1 xdir]# cp ~/anaconda-ks.cfg .  
cp:是否覆盖"./anaconda-ks.cfg"? y
[root@node1 xdir]#


cp -r 目录 目标目录


拷贝目录到目标目录


[root@node1 test]# mkdir xyz
[root@node1 test]# ls
a a1 a2 a3 abc xyz
[root@node1 test]# cp abc xyz/
cp: 略过目录"abc"
[root@node1 test]# cp -r abc xyz/
[root@node1 test]# ls
a a1 a2 a3 abc xyz
[root@node1 test]# ls xyz
abc
[root@node1 test]# ls -R xyz/
xyz/:
abc
xyz/abc:
1dir 2dir 3dir adir anaconda-ks.cfg 
bdir cdir xdir ydir zdir
xyz/abc/1dir:
xyz/abc/2dir:
xyz/abc/3dir:
xyz/abc/adir:
xyz/abc/bdir:
xyz/abc/cdir:
xyz/abc/xdir:
anaconda-ks.cfg
xyz/abc/ydir:
xyz/abc/zdir:


1.10 mv

mv用于移动或重命名文件


• 移动文件/目录 #mv 源文件/[源文件1 源文件2] 目标目录


[root@node1 test]# ls
a a1 a2 a3 abc xyz
[root@node1 test]# cd abc/
[root@node1 abc]# ls
1dir 2dir 3dir adir anaconda-ks.cfg bdir cdir xdir ydir zdir
[root@node1 abc]# mkdir -p x/y/z
[root@node1 abc]# ls
1dir 2dir 3dir adir anaconda-ks.cfg bdir cdir x xdir ydir zdir
[root@node1 abc]# mv anaconda-ks.cfg x/y/
[root@node1 abc]# ls x/y/
anaconda-ks.cfg z
[root@node1 abc]# ls
1dir 2dir 3dir adir bdir cdir x xdir ydir zdir
[root@node1 abc]# mv x /root/
[root@node1 abc]# ls
1dir 2dir 3dir adir bdir cdir xdir ydir zdir
[root@node1 abc]# cd /root/
[root@node1 ~]# ls
anaconda-ks.cfg test x
[root@node1 ~]# ls -R x/
x/:
y
x/y:
anaconda-ks.cfg z
x/y/z:


• Linux中没有专门改名的命令,兼职改名工作:

[root@node1 ~]# cd test/
[root@node1 test]# ls
a a1 a2 a3 abc xyz
#修改目录名称 mv 旧名称 新名称
[root@node1 test]# mv a3 ao3
[root@node1 test]# ls
a a1 a2 abc ao3 xyz
[root@node1 test]# cp ~/anaconda-ks.cfg .
[root@node1 test]# ls
a a1 a2 abc anaconda-ks.cfg ao3 xyz
#修改文件
[root@node1 test]# mv anaconda-ks.cfg ks.cfg
[root@node1 test]# ls
a a1 a2 abc ao3 ks.cfg xyz

1.11 rm

rm用于删除文件


直接删除,需要确认yes


rm file


添加-f选项可以不用确认强制删除


[root@node1 ~]# ls
anaconda-ks.cfg ln1 profile test x
[root@node1 ~]# rm profile
rm:是否删除普通文件 "profile"?y
[root@node1 ~]# ls
anaconda-ks.cfg ln1 test x
[root@node1 ~]# rm -f anaconda-ks.cfg

如果rm的参数是目录,则会提示需要迭代删除而不能成功

[root@node1 ~]# ls
ln1 test x
[root@node1 ~]# rm x
rm: 无法删除"x": 是一个目录
#此时可以添加-r参数表示迭代删除
[root@node1 ~]# rm -r x
rm:是否进入目录"x"? y
rm:是否进入目录"x/y"? y
rm:是否删除目录 "x/y/z"?y
rm:是否删除普通文件 "x/y/anaconda-ks.cfg"?n    
rm:是否删除目录 "x/y"?n
rm:是否删除目录 "x"?n
[root@node1 ~]# ls
ln1 test x
#也可以使用-rf选项,迭代强制删除某个文件或目录,此命
令慎用。尤其是rm -rf /
[root@node1 ~]# rm -rf x
[root@node1 ~]# ls
ln1 test
目录
相关文章
|
2天前
|
缓存 监控 Linux
|
5天前
|
Linux Shell 数据安全/隐私保护
|
6天前
|
域名解析 网络协议 安全
|
13天前
|
监控 Linux Shell
|
12天前
|
运维 监控 网络协议
|
2天前
|
缓存 Linux 开发者
深入理解Linux命令 `autom4te`
`autom4te` 是 GNU Autotools 中不可或缺的组件,通过高效处理 M4 宏,生成配置脚本并提供强大的调试功能。了解 `autom4te` 的工作机制和常用选项,可以帮助开发者更好地编写和维护配置文件,从而提高软件项目的配置和编译效率。在实际应用中,结合 `autoconf` 等工具,`autom4te` 能够为项目的构建过程提供坚实的基础。
11 2
|
4天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
20 4
|
4月前
|
Linux
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
|
4月前
|
Linux
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
|
4月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的