一:Xshell相关快捷键
1.Alt+Enter进入Xshell全屏模式,再按一次Alt+Enter退出Xshell全屏模式
2.Ctrl + Insert复制
3.Shift + Insert粘粘
二:Linux基本指令
1.clear:
清屏:即将屏幕框上的所有内容删除
2.pwd:
打印当前所处路径
如上图所示:输入pwd后将打印 /root/linux代码 ,这个即为当前我所处的位置
3.cd + 文件名:
进入指定文件目录,可以通过cd命令随意切换到指定的路径
首先第一个pwd可以看到我们当前所处的路径为 /root/linux代码 ,然后我们使用cd /root就进入root路径中
我们可以看到使用cd .命令前后当前用户的当前路径都没有发生改变
我们可以看到使用cd ..命令前当前用户的当前路径为/root,使用cd ..命令前当前用户的当前路径为/,其中Linux路径最开始的 / 为linux的根目录
微提醒:
在Linux中,路径分隔符为 / :/root/linux代码
在Windows中,路径分隔符为\ : C:\Program Files\Application Verifier
微提醒:任何一个目录,即便是一个空目录,默认系统会自带.和..目录
其中 . 代表当前目录
..代表上一级目录
cd ~ 当前目录的家目录
如上图所示:如果我们用户是root超级用户,那么我们的及目录就是/root;如果我们用户是普通用户,如上图所示的cwy,那么我们的及目录就是/home/用户名,即/home/cwy
cd - 最近一次所处的路径
如上图所示:我们使用cd -命令就会跳转到上一次路径
4.mkdir + 文件名
创建一个名字为文件名的目录(文件夹)
如上图所示:我们使用mkdir lesson1创建了一个名为lesson1的目录(即文件夹),我们可以看到目录所在行的最前面的字母为d(即direction文件夹),标志着这个文件为目录
使用mkdir + 一连串路径是不可以一次创建出一连串路径的,但是使用mkdir + p + 一连串路径名是可以一次同时创建出一连串的路径的
解决上述报错的方法:如果你的Linux系统是CentOS的话,那么使用yum install -y tree这条命令就可以解决了;如果你的Linux系统是Ubuntu的话,那么使用apt install -y tree这条命令就可以解决了
如上图所示:使用tree . 命令就将当前路径下的所有路径都以一棵多叉树的形式打印出来
5.touch + 文件名
新建一个普通文件,touch只能创建一个普通文件,不能创建一个文件夹。此外touch + 文件名还可以改变一个文件的时间状态
如上图所示:我们使用touch test.c创建了一个名为test.c普通文件,我们可以看到绿色框着的哪行的第一个字母为 - ,标志着这个文件为一个普通文件
如上图所示:test.c这个普通文件的时间一开始为Mar 7 19:53,但是使用了touch test.c命令后,文件的时间变为Mar 8 13:59。此外我们还可以通过使用stat + 文件名来查看一个文件的属性。一个文件的时间包括三种:分别是:Access,Modify和Change
6.ls
显示当前目录下的文件,准确来说是用来显示当前目录下的文件名
6.1 ls -l也是显示当前目录下的文件,相当于 ll 指令
从上面两张图可以看到ls -l 打印出来的内容比ls的更详细,ls只会打印出当前目录下的文件名,而
ls -l 除了会打印当前目录下的文件名外,还会打印出目录下总文件数量以及文件的相关属性(文件大小,文件名,文件创建时间,读写权限)。其中ls代表的是命令,中间有一个空格不要忘记,-l则代表的是命令行选项,命令行选项可以是零个或者多个,选项之间都是用空格隔开的
微提醒:文件 == 内容 + 属性
6.2 ls -a显示当前目录的所有文件,包括以.开头的隐藏文件
ls -d命令只显示当前目录的内容而不显示其目录下的文件
- -a列出目录下的所有文件,包括以.开头的隐藏文件
- -d将目录像文件⼀样显示,而不是显示其下的文件。
- -l 列出文件的详细信息
7.ll
显示当前目录下的文件
8.whoami
打印当前用户的用户名,即用户是谁
如上图所示:当前用户为root用户(超级用户)
9.alias
给其他命令起别名
由上图可知:ll相当于ls -l的别名
如果我们想给命令起别名,可以使用一下格式:alias 别名=命令;如上图所示:我们通过
alias zhangsan=ls 命令给ls起了一个别名zhangsan,当我们使用zhangsan的时候就相当于使用ls命令,但是我们给命令起的别名都是临时的,当我们将XShell关闭的时候我们就不能使用别名来使用命令了
10.rm命令
删除命令(remove)
rm只能删除普通文件,要想删除文件夹需要使用rm -r命令可以删除文件夹
如上图所示:我们使用rm test.c命令删除test.c这个普通文件,但是由于我们是超级用户root用户,所以每次删除文件(包括文件夹)系统都会问我们是否删除这个文件,如果我们确定删除这个文件,可以输入y回车,不删除的话就输入n。如果我们想不要这个提示直接删掉这个文件,可以加多一个选项 -f(强制)表示强制删除。当我们使用rm a命令删除a这个文件夹的时候,系统会提示我们不能删除文件夹,我们可以使用rm -r来删除文件夹,rm -rf强制删除文件夹。因此一般我们都是用rm -rf来删除文件
如上图所示:使用rm -f test.c命令后,系统就不提示我们是否删除这个文件,直接删除
由上面两张图可知:如果我们只是使用rm -r lesson1命令删除lesson1这个文件夹,系统会提示我们是否删除这个文件夹,但是使用rm -rf lesson1这个命令后,系统就会直接删除这个文件夹。
11.*通配符
如上图所示:我们通过ll *.c命令将以.c为后缀的文件群补都列举出来了
11.man指令
查看某个指令的使用方法
由上面可知:当我们使用man ls命令后,就会出现第二张图,图片上展示的是ls这个命令的使用方法,当我们想退出时,直接按q退出。
12.cp拷贝命令
cp 源文件/目录 目标文件/目录
将源文件/目录中的内容拷贝到目标文件/目录中
nano 文件名 如果文件已经存在那么就使用nano记事本打开这个文件,如果不存在这个文件,那么就自动创建文件并打开
如果使用nano记事本打开文件出现上述的报错,就需要安装一下nano记事本。打开记事本后就可以在上面写代码,如下图我在上面写了一个C语言代码。写完代码后我们按Ctrl + X退出记事本,然后cat ts.c这个代码就会运行打印记事本里面的代码。
如果系统为CentOS就使用这行命令yum install -y nano
如果系统为Ubuntu就使用这行命令apt install -y nano
ts.c文件的内容:
由上图可知:我们将ts.c的内容拷贝至dist.c文件时系统会自
动创建一个名为dist.c的文件并将ts.c的内容拷贝至dist.c文件
13.echo
将echo后面的东西当做字符串打印出来,一般用单引号或者双引号引起来
如上图所示:cat ts.c是将ts.c文件里面的内容打印出来,而echo是将后序ts.c当做字符串打印出来
echo的输出重定向 >
如上图所示:echo "aaaa" > hello.c命令将“aaaa”输出重定向到hello.c这个普通文件中,>重定向符号,将原本输出在显示屏上的内容输出在hello.c这个文件中,当我们使用echo "hello" > hello.c命令后,就会将hello.c文件中的内容覆盖。>代表着如果这个文件不存在就重新新创建文件,并且如果重新输入内容到文件中就会覆盖掉之前的内容。
通过echo清空文件内容:
通过echo>文件名,注意>两边没有空格会将文件内的内容清空,我们可以看到使用echo>hello.c命令后hello.c的大小由6变成了1,使用cat打印hello.c的内容时也是输出一行空白行。
echo的追加重定向 >>
如上图所示:我们通过使用echo "hello linux" >> hello.c命令后向hello.c文件中输入了hello linux,多次使用echo "hello linux" >> hello.c文件hello.c中的内容不断增加,而且没有覆盖之前的内容,由此可知,>>为追加重定向,>输出重定向,会覆盖之前的内容。
14.cat
1.cat 文件名
如上图所示:cat hello.c是将文件hello.c中的内容输出
2.cat < 文件名
cat < hello.c是输入重定向,是指本来从键盘中输入现在指定从文件hello.c中输入,即将文件hello.c的内容输出
3.cat
如上图所示:cat是从键盘中输入内容,键盘输入什么就打印什么,如上图,我们分别输入了aa,bb,cc,系统输出也分别输出了aa,bb,cc。如果我们想停止这个操作,只需要按Ctrl + C键就可以了
15.mv
移动文件的路径或者对文件重命名
如上图所示:我们使用mv hello.c ..命令的意思是将文件hello.c移动到..(即上级目录)中
如上图所示:我们使用mv ../hello.c .命令的意思是将文件hello.c从上级目录移动到.(即当前目录)中
由上图可知:使用mv 源文件/目录 目标文件名可以将源文件的名字改为目标文件的名字,我们使用的命令 mv test.c linux代码 是将test.c 名字改成linux代码