Linux命令基础使用

这篇文章主要介绍了Linux命令基础使用,主要讲解Linux命令基本使用,并带认识一些最基础的Linux命令使用。具有一定的参考价值,需要的小伙伴可以参考一下,希望给对你有所帮助。编程学习资料白嫖点击

1.基础知识

当我们打开终端时,终端软件会为我们打开一个shell软件,这个shell会显示一个提示符,然后等待用户输入命令,类似下面这个:

然后我们就可以在这个界面中执行Linux命令了,shell做为一个命令解释器,它会解释并执行用户输入的命令。
这种shell有多种,如sh、csh、tcsh、zsh、fish、bash,而目前Linux环境中使用得最广泛的就是bash。

2.命令参数与选项 

Linux命令基本都是如下的形式:

1

cat -n temp.txt

这个命令表示输出temp.txt的内容,同时包含行号,其中,cat是命令程序,-n是选项,而temp.txt则是命令参数。
一般来说,选项用来控制命令的行为,参数用来给命令输入数据。

3.标准输入、标准输出、标准错误

命令除了参数与选项外,还有标准输入、标准输出与标准错误这3个概念,如下:

标准输入

同样是用来给命令输入数据,它与命令参数的区别是,参数一般是一个(或多个)简短的文本值,而标准输入是一个输入流,命令可从其中读取大量数据,类似java的System.in。

1

cat < temp.txt

它等效于cat temp.txt,但本质却是不同的,cat temp.txt是cat这个程序内部会去读取temp.txt文件的内容,cat是知道它在读取temp.txt的,而cat < temp.txt是cat这个程序在读取标准输入中的数据,至于标准输入中的数据从何而来,cat是不知道的。

同时,Linux命令中也经常使用 - 这个特殊的文件名来表示标准输入文件,如下四个命令是等效的:

1

2

3

4

5

6

7

8

# cat不指定输入文件时,默认就读取标准输入

cat

# cat认为 - 代表标准输入文件

cat -

# /dev/stdin是具体的标准输入文件

cat /dev/stdin

# 指定读取0(标准输入)这个文件描述符

cat <&0

标准输出

每个命令都有一个标准输出,这个类似标准输入,也是一个流,不过它是用来给命令向外部输出数据的,默认是屏幕,它类似javaSystem.out。如下:

1

2

3

4

# 命令默认写出内容到标准输出

echo hello | cat 

# 显示指定写到标准输出文件

echo hello | cat > /dev/stdout

另外,在有些命令中,也会使用-来代表标准输出文件。

标准错误 

标准错误概念上和标准输出类似,不过它是用来程序报告错误的,类似javaSystem.err

如下:

1

2

# 显示指定写到标准错误文件

echo hello | cat > /dev/stderr

4.管道

管道的作用是把命令之间连接起来,让它们之间可以传递数据,上面其实已经见过管道,如下:

1

echo hello | cat

echo程序将hello写到标准输出,| 将echo的标准输出与cat的标准输入连接起来,前面标准输出写出什么数据,| 就会将这个数据传到后面程序的标准输入,行为就像管道一样。

默认情况下,管道只能将前面的标准输出传递给后面的程序,如果想将标准错误也传递给后面程序,可以使用|&

1

2

3

4

# 标准输出与标准错误都通过管道传递给cat

echo hello |& cat

# 与上面等价

echo hello 2>&1 | cat

5.重定向

输入重定向,将文件内容重定向为程序的标准输入

1

cat < temp.txt

也是输入重定向,可即时输入多行文本,bashHere Document语法

1

2

3

4

5

cat <<EOF

hello,java

hello,bash

EOF

<<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1. 使用date命令显示当前日期。 2. 使用 who命令显示当前所有登录用户的信息,试依次打开多个终端,再查看输出结果的变化。 3. 查看当前linux服务器的主机名的命令。(hostname) 4. 使用clear命令,清除屏幕信息。 5. 添加一个组账号,名称为group1,打开图形界面观察执行后的结果。 6. 查询文件group中group1的记录,改变group1组的GID 为666, 再查看文件group中group1的记录。 7. 以自己的姓名全拼创建一个用户,指定UID为555, 加上用户的备注信息(姓名全称、所在院系等),初始组为group1,有效组为root,打开图形界面观察执行后的结果。 8. 为以自己姓名命名的账户设置密码,并查看passwd文件和shadow文件的最后一行。 9. 使用命令给自己的姓名账户密码冻结,用passwd查看账户相关信息,最后给账户解冻。 10. 进入以自己姓名命名的用户主目录,显示当前的路径,退出当前目录,返回根目录。 11. 复制文件/etc/passwd到用户主目录,文件名不变,打开图形界面Nautilus的窗口观察执行后的结果。 12. 统计文件/etc/passwd文件的字节数和行数。 13. 创建普通文件/home/abc1,创建普通文件/home/abc2。 14. 将/etc/passwd的内容追加到文件abc1中,将/etc/group的内容追加到文件abc2中。(利用附加输出重定向命令)。 15. 修改文件abc1的属性为:属主具有一切权限,同组用户和其他用户具有可读可写的权限。(使用数字模式) 16. 修改abc2的属性为:给其他用户增加可执行的权限。(使用功能模式) 17. 以长文件形式显示文件abc1的详细信息。 18. 进入/home目录,将文件abc1和abc2打包成文件ab.tar,放在以自己姓名命名的用户主目录下(比如/home/liqun),打开图形界面Nautilus的窗口观察执行后的结果。 19. 创建Readme.txt文本文件,内容为你的姓名全拼、学号等信息,保存关闭后用命令查看Readme.txt文件的内容,并在每一行前加行号。 20. 在root目录下创建新文件夹mydir1,其绝对路径为“/root/testdir/mydir1”(假设testdir目录事先并不存在)。 21. 在root目录下创建新文件夹dir1,将其移动到 /root/testdir/mydir1目录下。在root目录下创建新文件夹dir2,将其移动到 /root/testdir目录下,并将其改名为mydir2。打开图形界面Nautilus的窗口,观察以上这些步骤执行后的结果。 22. 分别删除/testdir目录下的mydir1和mydir2目录。(注意rm命令不加-r选项,系统会提示mydir1是个目录不能删除。)(尝试重复步骤20和步骤21,重建上述目录,执行步骤22,比较增加-f选项的区别)。 23. 建立文件/etc/group的符号链接文件/root/a.b,打开图形界面Nautilus的窗口观察a.b文件的特征。 24. 进入根目录的tmp目录下,建立test1和test2两个文件夹,在test1中建立文件a.log, b.log,用ls命令查看所创建的文件a.log,b.log。再把a.log 硬连接到test2目录,文件同名。把b.log 软链接到test2目录下,文件同名。用ls命令查看test2文件夹下所创建的文件,并打开图形界面Nautilus的窗口观察文件夹test2下a.log文件和b.log文件的特征。 25. 由超级用户切换为以自己姓名命名的普通用户身份,并使用普通用户的环境变量,再切换回超级用户身份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值