工作目录切换命令
工作目录指的是用户当前在系统中所处的位置。
pwd 命令用于显示用户当前所处的工作目录,格式为 “pwd [选项]”。
@ubuntu-1:/etc$ pwd
/etc
cd 命令用于切换工作路径,格式为 “cd [目录名称]”。
这个命令应该是最常用的一个Linux命令了,可以通过cd 命令迅速,灵活地切换到不同的工作目录。除了常见的切换目录方式,还可以使用cd – 命令返回到上一次所处的目录,使用cd .. 命令进入上一级目录,以及使用cd ~ 命令切换到当前用户的家目录,或使用cd ~username 切换到其它目录的家目录。
进入/etc目录中
cd /etc
进入/bin目录中:
cd /bin
此时,要返回到上一次的目录(即/etc 目录),可以执行以下命令:
cd -
还可以通过下面的命令快速切换到用户的家目录:
cd ~
ls 命令用于显示目录中的文件信息,格式为 “ls [选项] [文件]”。
所处的工作目录不同,当前工作目录下的文件肯定也不同。使用ls命令的 ”-a” 参数看到全部文件(包括隐藏文件),使用”-l” 参数可以查看文件的属性,大小等详细信息,将这两个参数整合之后,再执行ls命令即可查看当前目录中的所有文件并输出这些文件的属性信息:
root@ubuntu-1:~$ ls -al
total 196
drwxr-xr-x 11 root root 4096 Aug 23 04:00 .
drwxr-xr-x 21 root root 4096 May 23 2021 ..
-rw------- 1 root root 7031 Aug 17 22:28 .bash_history
-rw-rw-r-- 1 root root 8737 Jun 9 22:36 .bashrc
drwx------ 5 root root 4096 Jan 11 2022 .cache
drwxrwxr-x 2 root root 4096 Dec 20 2021 demo
-rw------- 1 root root 184 Dec 9 2021 .lesshst
drwxrwxr-x 3 root root 4096 May 25 2021 .local
drwxrwxr-x 7 root root 4096 Mar 28 01:32 project
-rw------- 1 root root 200 Aug 3 03:18 .rbtools-cookies
-rw------- 1 root root 25 Jun 17 2021 .sqlite_history
drwxrwxr-x 3 root root 4096 Oct 11 2021 .subversion
drwxr-xr-x 44 root root 4096 Jun 17 2021 .terminfo
drwxrwxr-x 3 root root 4096 Jun 16 2021 .vim
drwxrwxr-x 11 root root 4096 Jun 16 2021 vim82
如果想要查看目录属性信息,则需要额外添加一个-d参数,例如命令行如何切换到d盘,可使用如下命令查看/etc目录的权限与属性信息。
root@ubuntu-1:/etc$ ls -ld /etc/
drwxr-xr-x 110 root root 12288 Aug 18 23:44 /etc/
文本文件编辑命令
cat命令用于查看纯文本文件(内容较少的),格式为 “cat [选项][文件]”。
Linux 系统中有多个用于查看文本内容的命令,每个命令都有自己的特点,比如这个cat命令就是用于查看内容较少的纯文本文件的。
如果在查看文本内容时还想顺便显示行号的话命令行如何切换到d盘,在cat命令后面追加一个-n参数:
root@ubuntu-1:~/workroom/c_test/2022$ cat -n demo.txt
1 root:x:0:0:root:/root:/bin/bash
2 daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
3 bin:x:2:2:bin:/bin:/usr/sbin/nologin
4 sys:x:3:3:sys:/dev:/usr/sbin/nologin
5 sync:x:4:65534:sync:/bin:/bin/sync
6 games:x:5:60:games:/usr/games:/usr/sbin/nologin
7 man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
8 lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
9 mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
10 news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
11 uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
12 proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
13 www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
14 backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
15 list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
16 irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
more 命令用于查看纯文本文件 (内容较多的),格式为 “more [选项] 文件”
对于长篇的文本内容,推荐使用more命令来查看。more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容,可以使用空格键或回车键向下翻页:
head 命令用于查看纯文本文档的前N行,格式为”head [选项][文件]”。
在阅读文本内容时,难以保证按照从头到尾的顺序往下看完整个文件。如果只想查看文本中前20行的内容,可以使用head 命令:
root@ubuntu-1:~/workroom/c_test/2022$ head -n 20 main.c
#include
int add_range(int low, int high)
{
int i = 0;
int sum = 0;
for (i = low; i <= high; i++)
{
sum = sum + i;
}
return sum;
}
int main(void)
{
int result[100];
result[0] = add_range(1, 10);
tail 命令用于查看纯文本文档的后N行或持续刷新内容,格式为”tail [选项][文件]”。
我们可能还会遇到另外一种情况,比如需要查看文本内容的最后20行,这时就需要用到tail命令了。tail命令的操作方法与head命令非常相似,只需要执行”tail -n 20 文件名” 命令就可以达到这样的效果。tail命令最强悍的功能是可以持续刷新一个文件的内容,当想要实时查看最新日志文件时,这个命令特别有用,此时的命令格式为”tail -f 文件名”:
root@ubuntu-1:~/workroom/c_test/2022$ tail -f main.c
{
int result[100];
result[0] = add_range(1, 10);
result[1] = add_range(1, 100);
printf("result[0] = %dn", result[0]);
printf("result[1] = %dn", result[1]);
return 0;
}
tr命令用于替换文本文件中的字符,格式为”tr [原始字符][目标字符]”。
在很多时候,我们想要快速地替换文本中的一些词汇,又或者把整个文本内容都进行替换,如果进行手工替换,难免工作量太大,尤其是需要处理大批量的内容时,进行手工替换更是不现实。这时,就可以使用cat命令读取待处理的文本,然后通过管道符把这些文本内容传递给tr命令进行替换操作即可。例如,把某个文本内容中的英文全部替换为大写:
root@ubuntu-1:~/workroom/c_test/2022$ cat main.c | tr [a-z] [A-Z]
#INCLUDE
INT ADD_RANGE(INT LOW, INT HIGH)
{
INT I = 0;
INT SUM = 0;
FOR (I = LOW; I <= HIGH; I++)
{
SUM = SUM + I;
}
RETURN SUM;
}
wc命令用于统计指定文本的行数,字数,字节数,格式为”wc [参数] 文本”。
wc 的参数以及作用:
参数
作用
-l
只显示行数
-w
只显示单词数
-c
只显示字节数
在Linux 系统中,passwd是用于保存系统账户信息的文件,要统计当前系统中有多少个用户,可以使用下面的命令来进行查询:
root@ubuntu-1:/etc$ wc -l /etc/passwd
57 /etc/passwd
stat命令用于查看文件的具体存储信息和时间等信息,格式为”stat 文件名称”。
root@ubuntu-1:~/workroom/c_test/2022$ stat main.c
File: 'main.c'
Size: 360 Blocks: 8 IO Block: 4096 regular file
Device: 801h/2049d Inode: 42074572 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 1021/ chengy) Gid: ( 1022/ chengy)
Access: 2022-08-22 23:13:45.122302743 -0400
Modify: 2022-08-19 04:51:35.171815076 -0400
Change: 2022-08-19 04:51:35.203816022 -0400
Birth: -
cut命令用于按”列” 提取文本字符,格式为 “cut [参数] 文本”。
在Liunx 系统中,如何准确地提取最想要的数据,一般而言,按基于行的方式来提取数据是比较简单的,只需要设置好要搜索的关键词即可。如果按列搜索,不仅要使用-f参数来设置需要看的列数,还需要使用-d参数来设置间隔符号。passwd在保存用户数据时,用户信息的每一项值之间是采用冒号来间隔的,使用下述命令尝试提取passwd文件中的用户信息,即提取以冒号:为间隔符号的第一列内容:
# head -n 2 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
# cut -d: -f1 /etc/passwd
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
operator
games
ftp
nobody
dbus
polkitd
unbound
colord
diff 命令用于比较多个文本文件的差异,格式为”diff [参数] 文件”。
在使用diff 命令时,不仅可以使用brief 参数来确认两个文件是否不同,还可以使用-c 参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力工具,
root@ubuntu-1:~/workroom/c_test/2022$ cat diff_a.txt
one
two
three
root@ubuntu-1:~/workroom/c_test/2022$ cat diff_b.txt
one
two
root@ubuntu-1:~/workroom/c_test/2022$ diff --brief diff_a.txt diff_b.txt
Files diff_a.txt and diff_b.txt differ
最后使用带有-c 参数的diff 命令来描述文件内容具体的不同:
root@ubuntu-1:~/workroom/c_test/2022$ diff -c diff_a.txt diff_b.txt
*** diff_a.txt 2022-08-24 02:23:57.392785390 -0400
--- diff_b.txt 2022-08-24 02:24:15.577342779 -0400
***************
*** 1,3 ****
one
two
- three
--- 1,2 ----
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,加站长微信免费获取积分,会员只需38元,全站资源免费下载 点击查看详情
站 长 微 信: thumbxmw