Linux命令学习

1.学习前准备

1.1输入名令的前缀

在我们输入命令时前面会有这么一句话:shi@DESKTOP-RS264UT:~$ 这是什么意思呢?

shi -> 当前用户名

@ -> 机器标号

DESKTOP-RS264UT -> 当前的主机名

: -> 分隔符

~ -> 当前工作路径(简化为~)

$ -> 普通用户        #->超级用户

root@DESKTOP-RS264UT:/home/shi#这个就是超级用户下的前缀。

shi@DESKTOP-RS264UT:~$普通用户前缀。

1.2目录

~ ->当前用户的家目录的缩写

.->当前目录

..->上一级目录

/->根目录

1.3Linux系统下的文件种类

-        普通文件(mp3,avi,mp4,ppt...)

d        目录文件

p        管道文件(一般用于进程间通信)

l        链接文件(相当于快捷方式)

s        套接字文件(一般用于网络通信)

b        块设备文件(驱动设备文件由驱动生成)

c        字符设备文件(驱动设备文件由驱动生成)

1.4Linux目录与windows文件夹的区别

windows文件夹好比一个容器,文件文件夹的的确确放在了里面

Linux目录文件好比一个表,把这些文件列在这个表上,虽然里面看起来确实有文件,但是这些文件只是一种链接的形式在这个目录文件里。就好比指针我能够通过这个指针找到这个变量值但是这个第一眼看到的这个指针并不是这个变量的本身。

1.5快捷方式

在输入之前输过的命令可以按键盘的上和下进行切换(避免再次输入很长的命令)

清屏 ctrl+l        并不是真正意义上的清屏只是让页面只显示输入命令的哪一行

1.6如何切换为超级用户

sudo -s        一直是超级用户,想回到普通用户输入exit+回车

sudo  命令      临时成为超级用户并执行命令(推荐)

2.入门级指令

2.1pwd打印当前工作目录命令

pwd 命令代表“ print working directory ”(打印工作目录)。当你键入 pwd 时,你是在请你的 Linux 系统显示你的当前位置。

2.2 cd切换工作路径命令

        cd        直接切换到当前用户的家目录

        cd /        切换到根目录

        cd ~        直接切换到当前用户的家目录

        cd .. 

        cd ../../

        cd ../../HHH/main        切换到上一级的上一级的HHH里的main目录文件下(相对路径)

        cd /home/HHH/main    切换到家目录下HHH目录下的main目录

        cd -        返回上一次所在路径

2.3 ls列举当前目录下的内容

ls

-a —全部( all )。列举目录中的全部文件,包括隐藏文件( .filename )。位于这个列表的起首处的 .. . 依次是指父目录和你的当前目录。
-l —长( long )。列举目录内容的细节,包括权限(模式)、所有者、组群、大小、创建日期、文件是否是到系统其它地方的链接,以及链接的指向。
-F — 文件类型( File type )。在每一个列举项目之后添加一个符号。这些符号包括: / 表明是一个目录; @ 表 明是到其它文件的符号链接;* 表明是一个可执行文件。
-r — 逆向( reverse )。从后向前地列举目录中的内容。
-R — 递归( recursive )。该选项递归地列举所有目录(在当前目录之下)的内容。
-S — 大小( size )。按文件大小排序

2.3.1文件详情信息怎么看?

d        ->目录文件

rwxr-xr-x        ->三个一组,从头开始分别表示文件拥有者,同组用户,其他用户的权限

利用功能里的数值我们就会很方便的更改文件的属性,在创建文件时我们也可以很方便的设置文件的属性。

 2        ->文件的链接数(打开方式有2种)

root        ->文件的拥有者

root        ->所属小组

4096        ->文件大小

Nov 23 05:36        ->文件修改时间

media        ->文件名

2.4 locate找已经存在文件的路径

有时候,你知道某一文件或目录存在,但却不知该到哪里去找到它。你可以使用 locate 命令来搜寻文件或目录。 使用 locate 命令,你将会看到每一个包括搜寻条件的目录或文件。譬如,如果你想搜寻所有名称中带有 finger 这个词的文件,键入:
locate finger
locate 命令使用数据库来定位文件或目录名中带有 finger 这个词的文件和目录。这个搜寻结果可能会包括一个叫做 finger.txt 的文件,一个叫做 pointerfinger.txt 的文件,一个被命名为 fingerthumbnails 的目录,诸如此类。

2.4.1终端找不到locate命令的解决方法

shi@DESKTOP-RS264UT:~$ sudo -s          ->第一步     
root@DESKTOP-RS264UT:~#  sudo apt update    ->第二步
apt install mlocate            ->安装locate


root@DESKTOP-RS264UT:~# exit
exit
shi@DESKTOP-RS264UT:~$ locate jiejie
/home/shi/shi5_10test/jiejie

2.4.2 find与locate的区别

find -name 找当前目录下这个文件的路径
locate name 找从根目录下所有含name字符串文件的路径

2.5 clear 命令

clear 命令用于清除终端窗口。
这个我们可以使用快捷方式。

2.6 cat 命令

cat concatenate (连锁)的简写,意思是合并文件。该命令可以显示文件的内容(经常和 more 搭配使用), 或者是将多个文件合并成一个文件
cat 文件名
显示文件内容必须到该文件的目录下否则是找不到的。

2.7 head 命令

你可以使用 head 命令来查看文件的开头部分。此项命令是:
head <filename>
head 是一个有用的命令,但是由于它只限于文件的最初几行,你看不到文件实际上有多长。按照默认设置, 你只能阅读文件的前十行。你可以通过指定一个数字选项来改变要显示的行数,如下面的命令所示: head -20 <filename>

2.8 tail 命令

head 命令恰恰相反的是 tail 命令。使用 tail 命令,你可以查看文件结尾的十行。这有助于查看日志文件的 最后十行来阅读重要的系统消息。你还可以使用 tail 来观察日志文件被更新的过程。使用 -f 选项, tail 会自动 实时地把打开文件中的新消息显示到屏幕上。例如,要即时观察 /var/log/messages 的变化,以根用户身份在 shell 提示下键入以下命令:
tail -f /var/log/messages

2.9 grep 命令

grep 命令对于在文件中查找指定的字串很有用途。例如,如果你想在 sneakers.txt 文件中查找每一个提到“ coffee”的地方,你可以键入:
grep coffee sneakers.txt
你就会看到文件中带有“ coffee ”的每一行。

2.10 chmod 命令

chmod 命令用于改变文件或目录的访问权限。 根据我们2.3.1所学可以使用以下命令快速更改文件访问权限。
chmod 644 sneakers.txt        644 -> rw_r__r__

2.11 cp 命令

语法

cp [options] source dest
或
cp [选项] 源文件 目标文件
其中,source(源文件) 表示要复制的文件或目录的路径,dest(目标文件) 表示复制后的文件或目录的路径。这里的路径为绝对路径。

cp [options] source... directory

选项说明

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于 dpR 参数组合。
  • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
  • -r 或 --recursive:用于复制目录及其所有的子目录和文件,如果要复制目录,需要使用该选项。
  • -i 或 --interactive:在复制前提示确认,如果目标文件已存在,则会询问是否覆盖,回答 y 时目标文件将被覆盖。。
  • -u 或 --update:仅复制源文件中更新时间较新的文件。
  • -v 或 --verbose:显示详细的复制过程。
  • -p 或 --preserve:保留源文件的权限、所有者和时间戳信息。
  • -f 或 --force:强制复制,即使目标文件已存在也会覆盖,而且不给出提示。
  • -l:不复制文件,只是生成链接文件。

实例

将文件 file.txt 复制到目录 /path/to/destination/ 中:

cp file.txt /path/to/destination/

使用指令 cp 将当前目录 test/ 下的所有文件复制到新目录 newtest 下,输入如下命令:

cp –r test/ newtest          

注意:用户使用该指令复制目录时,必须使用参数 -r 或者 -R 。

复制文件,并在目标文件已存在时进行确认:

cp -i file.txt /path/to/destination/

2.12mv 移动命令

要移动文件,使用 mv 命令。
mv sneakers.txt /home/newuser/sneakers.txt /home/newuser/tigger
mv jj hh
重命名用法
mv jj hh 当当前目录中hh文件不存在时将jj改为hh

2.13 mkdir 命令

mkdir(make directory) 命令用来建立目录。例如在系统中建立 datal 子目录:
[root@teacher tmp]#mkdir datal
注意:普通用户无法再根目录下创建目录要成为超级用户。

2.14 rm 命令

Liunx 中创建文件是很容易,这样系统中随时会有过时或无用的文件,用户可以用 rm 命令将其删除。该命令 可以删除目录中的文件或目录本身,对于链接文件,只是删除了该链接,原有文件保持不变。删除文件和目录 的选项包括:
-i — 互动。提示你确认删除。这个选项可以帮助你避免误删文件。
-f — 强制。代替互动模式,不提示地删除文件。除非你知道自己在干什么,使用这个选项通常不是明智之举。
-v — 详细。显示文件的删除进度。
-r — 递归。将会删除某个目录及其中所有的文件和子目录。
要使用 rm 命令来删除文件 piglet.txt ,键入: rm piglet.txt
另一个比使用 rm 更安全的删除目录的命令是 rmdir 命令。这个命令不允许你使用递归删除,因此不能删除包含文件的目录。

3.学习过程中命令扩充

3.1使用gcc来编译c文件

1 $ gcc Hello.c // 使用gcc 编译 Hello.c 并且默认生成一个名为 a.out的可执行文件
2 $ gcc Hello.c ‐o TieZhu // 使用gcc 编译
3 // Hello.c 并且指定生成名字为TieZhu 的可执行文件
4 $ gcc Hello.c ‐o TieZhu ‐v // ‐v 输出百编译的信息, 包括头文件寻找的路径
5 $ gcc Hello.c ‐o TieZhu ‐I/mnt/d/ ‐v // ‐I 指定头文件寻找的路径(在原本默认
的基础上添加)
6 $ gcc Hello.c ‐Wall // 输出所有的警告

3.2运行程序

./a.out        当前路径下的a.out
使用绝对路径来执行程序:

4.vi命令

常用Vi命令
  • 22
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值