最常用的Shell命令

更新时间:2023-10-09 12:44:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Shell命令行操作

Linux shell 简介

Linux shell指的是一种程序,有了它,用户就能通过键盘输入指令来操作计算机了。Shell会执行用户输入的命令,并且在显示器上显示执行结果。这种交互的全过程都是基于文本的,与其他各章介绍的图形化操作不同。这种面向命令行的用户界面被称为 CLI(Command Line interface)。在图形化用户界面(GUI)出现之前,人们一直是通过命令行界面来操作计算机的。 现在,基于图形界面的工具越来越多,许多工作都不必使用Shell就可以完成了。然而,专业的 Linux用户认为Shell是一个非常有用的工具,学习 Linux时一定要学习Shell,至少要掌握一些基础知识和基本的命令 启动shell

在启动Linux桌面系统后,Shell已经在后台运行起来了,但并没有显示出来。如果想让它显示出来,

按如下的组合键就可以: + +

组合键中的F2可以替换为F3、F4、F5、F6。 如果要回到图形界面,则按如下组合键: + +

另外,在图形桌面环境下运行“系统终端”也可以执行Shell命令,与用组合键切换出来的命令行界面

是等效的。“系统终端”启动后是一个命令行操作窗口,可以随时放大缩小,随时关闭,比较方便,推荐使用。启动“系统终端”的方法是:

【开始】 → 【应用程序】 → 【附件】 → 【系统终端】

该软件允许建立多个Shell客户端,它们相互独立,可以通过标签 在彼此之间进行切换。 Shell命令基本规则

一般格式

Shell命令的一般格式如下:

命令名 【选项】 【参数1】 【参数2】...

【选项】是对命令的特别定义,以减号(-)开始,多个选项可以用一个 减号(-)连起来,如ls -l -a 与

ls -la 相同。

【参数】提供命令运行的信息,或者是命令执行过程中所使用的文件名。

使用分号(可以将两个命令隔开,这样可以实现一行中输入多个命令。命令的执行顺序和输入的顺序 相同。

命令补全

在送入命令的任何时刻,可以按键,当这样做时,系统将试图补全此时已输入的命令。

如果已

经输入的字符串不足以唯一地确定它应该使用的命令,系统将发出警告声。再次按键,系统则会给出可用来用来补全的字符串清单。使用命令补全功能,可以提高使用长命令或操作较长名字的文件或文件夹的都是非常有意义的。

历史命令

系统会把过去输入过的命令记忆下来,只要按方向键中的上下箭头,就可以选择以前输入过的命令了。

联机帮助

可以通过man命令来查看任何命令的联机帮助信息。它将命令名作为参数,该命令的语法格式为:

man 【命令名】

在任何命令之后给help参数,也可以显示该命令的帮助信息。 常用的Shell命令

目录和文件操作

查看当前目录相对于根目录的位置 pwd

查看当前目录内容 ls

以长格式查看当前目录内容。对应每个文件的条目将包括连接数目、所有者、大小、最后修改时间、 权限等内容 ls -l

改变当前目录。目的目录名可用相对路径表示,也可以用绝对路径表示。 cd [目的目录名] 转移到上一级目录 cd ..

创建目录

mkdir [新目录名] 例:

mkdir /var/ftp 删除空目录 rmdir [目录名] 例:

rmdir /var/ftp

递归删除一个目录中的所有文件和该目录本身。 rm -r [目录名] 复制文件

cp [源文件名] [目标文件名]

重命名文件

mv [源文件名] [目标文件名] 例:

mv /etc/rc.d/rc3.d/K50xinetd /etc/rc.d/rc3.d/S50xinetd 删除文件 rm [文件名]

不需确认地删除多个文件 rm -f [带通配符的文件名]

硬链接文件。不能对目录文件做硬链接,不能在不同的文件系统之间做硬链接。 ln [源文件名] [目标文件名] 如下面的例子。源文件abc.png存储在/root下,硬链接myabc.png存储在用户workman的家目录下。

做了这个链接之后,用户root和workman就可以使用不同的文件名来读写同一个图形文件。即使root把abc.png删除,这个图形文件仍然存在,只有当workman把myabc.png也删除后,这个文件才会彻底从计算机上消失。 ln /root/abc.png /home/workman/myabc.png

软链接文件。也就是符号链接。可用此法创建文件的快捷方式。 ln -s [源文件或文件夹名] [目标名] 按文件名查找文件。

find / -name nametofind -print 改变文件所有者。 例:

chown workman.workgroup /data/pub/upload 改变文件访问权限 例:

chmod -R 755 /usr/local/LumaQQ 查看一个文件有多少行 wc -l usr.bin

查看一个文件有多少字节 wc -c usr.bin

查看文本文件的内容 cat usr.bin

用户管理

改变身份。如果不指定用户名,则默认将用户身份换至root。从root身份切换到其他任何身份都不需 要口令。 su [username] 添加用户 例:

adduser -c \设置用户口令 例:

passwd workman

安装和卸载软件

安装rpm软件 例:

rpm -Uvh kdevelope-3.1-1.i386.rpm 卸载rpm软件 例:

rpm -e kdevelope

配置、编译、安装、卸载源码发布的软件包。 ./configure make

make install make clean

卸载源码发布的软件包 make uninstall

文件的打包和解包

解tar包 例:

tar -xvzf gaim-0.77.tar.gz tar -jxvf XXX.tar.bz2 生成tar包 例:

tar cvf - /etc | gzip-9c > backup.tar.gz

生成rar包

rar a test.rar file1.txt rar a test.rar dir1 解rar包 rar x test.rar 解zip包

unzip lumaqq_p3.zip 挂装一个iso文件,参数 iocharset=cp936 并不是必须的。如果被挂装的iso文件中存在中文文件名,此参数必须带,否则,中文文件名将显示为乱码。 mount -t iso9660 -o loop,iocharset=cp936 /data/myarc.iso /mnt/iso 卸装iso文件 umount /mnt/iso 生成一个iso文件

cp /dev/cdrom /home/gsh/TomJerry1.iso

远程Shell登录

ssh远程登录进行命令行操作 ssh -l workman 192.168.0.101 ssh远程登录进行文件的传送 sftp workman@192.168.0.101 磁盘信息的低级复制

把Linux分区引导扇区的信息提取出来生成一个文件bootsect.lnx,放到Windows的C盘。 dd if=/dev/hda2 of=bootsect.lnx bs=512 count=1 把bootdisk.img写到软盘上。 dd if=bootdisk.img of=/dev/fd0 使用缩略符号

波浪线 (~)代表家目录。如果现在位于/home/workman/MyOSS-Stuff/IOSN,那么只需执行“cd ~”就可

以回到家目录/home/workman而不必输入“cd /home/workman”。

一个点(.)代表当前目录,而“../” 代表上一级目录。“../”可以嵌套使用,比如“../../”。 输出重定向

在默认的情况下,Linux从键盘接受输入,并将命令的输出送到屏幕。在有时候,这样做并不方便。比如,在一个目录里有很多文件,如果只用简单的ls命令,在屏幕上显示的输出结果可能上千行!为了得到我们需要的信息。我们或许需要把这些结果存储到一个文件中然后再查看这个文件,这就要用到系统的输出重定向功能。 输出重定向的操作符为>或>>。

单个大于号(>)后面紧跟文件名。如果指定的文件不存在,将建立这一文件。如果指定的文件存在,则

文件原有的内容将被覆盖。如果使用两个大于号(>>)则会把输出内容追加到原来文件里面。下面是一个例子:

1.[-(/tmp)> ls /usr/bin >> usr.bin 2.[-(/tmp)> wc -l usr.bin 3.2171 usr.bin

4.[-(/tmp)> ls /usr/bin >> usr.bin 5.[-(/tmp)> wc -l usr.bin 6.4342 usr.bin

7.[-(/tmp)> ls /usr/bin > usr.bin 8.[-(/tmp)> wc -l usr.bin 9.2171 usr.bin

注:行号是为了行文方便加入的,并不是shell的输出.

第1行,/usr/bin中的文件列表被写入文件usr.bin,由于这个文件原来并不存在,系统会自动创建。从第3行可以看出usr.bin的行数。在第4行又重复了第1行的命令,由于使用的是>>,usr/bin中的文件列表被追加写入文件,usr.bin的行数也就增加了一倍。在第7行我们使用了>, usr/bin中的文件列表被写入文件,usr.bin中原有的内容被覆盖了,行数也变成了新的值。

本文来源:https://www.bwwdw.com/article/6v9f.html

Top