Linux 常见指令笔记

使用Xshell登录

ssh root@公网IP
ssh 公网IP
使用.可以限定要执行的可执行程序在什么位置(eg: ./code)

创建账户

  1. 新建用户名
adduser name
  1. 设置密码(passwd不仅可用于创建密码,也可用于重置密码)
passwd name
//在 “Newpassword” 之后输入密码(其中密码是不回显的);在之后,在“Retype new password”后,重复输入设置密码
  1. 登录账号
ssh name@(address)//()中为服务器地址
  1. 销毁账号
userdel -r name

ls指令

语法:ls[选项][目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录或文件。对于文件,将列出文件名以及其他信息。
常用选项:

-a列出目录下的所有文件,包括以.开头的隐含文件
-d将目录象文件一样显示,而不是显示其他文件。如 ls -d 指定目录
-i输出文件的i节点的索引信息。如 ls -ai 指定目录
-k以k字节的形式表示文件的大小。如 ls -alk 指定文件
-l列出文件详细信息以及文件总数量
-n用数字的UID,GID代替名称
-F在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件; “/”表示目录 ;“@”表示符号链接;“|”表示FIFO;“=”表示套接字。目录识别类型
-r对目录反向排序
-t以时间排序
-s在l文件名后输出该文件大小
-R列出所有子目录下的文件(递归排序)
-1一行只输出一个文件

ls-i中首串数字为文件的inode编号(如同身份证)

  • 通配符
    ls *.c ——匹配所有.c后缀的内容
    ls test. *——匹配所有test的内容

pwd命令

语法:pwd
功能:显示用户当前所在目录

cd命令

Linux系统中,磁盘上的文件和目录被组成一棵树,每个节点都是目录或文件。

语法:cd 目录名
功能:改变工作目录。将当前目录改变到指定的目录下。

  • 如:
    cd . . :返回上级目录
    cd / home/litao/Linux/ : 绝对路径
    cd . ./day02/ : 相对路径
    cd ~ :进入当前用户家目录
    cd - :返回最近访问目录

touch命令

语法:touch[选项……]文件……
功能:touch命令可更改文件或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
常用选项:

-a或–time=atime或–time=access或–time=use只更改存取时间
-c或-no-create不建立任何文件
-d使用指定的日期时间,而非现在的时间
-f此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题
-m或-time=mtime或–time=modify只更改变动时间
-r把指定文件或目录的日期时间,统统设定成和参考文档或目录的日期时间相同
-t使用指定的日期时间,而非现在的时间

stat myfile 获取文件时间

ACM时间:
Access
Modify
Change

mkdir指令

语法:mkdir[选项] dirname……
功能:在当前目录下创建一个名为“dirname”的目录

mkdir -p 可以批量生成文件夹

[root@VM-12-4-centos dir]# mkdir -p d1/d2/d3/d4
[root@VM-12-4-centos dir]# tree .
.
`-- d1
    `-- d2
        `-- d3
            `-- d4

4 directories, 0 files
[root@VM-12-4-centos d4]# yum install -y tree

安装tree:yun install -y tree(需要root权限)

rmdir指令 && rm指令

rmdir和mkdir是相互对应的指令。mkdir是建立目录,而rmdir是删除目录。
语法:rmdir[-p][dirName]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:-p :当子目录被删除后,如果父目录也为空,就连带父目录一起删除.
rm可以同时删除文件或目录
语法:rm[-f-r-i-v][dirName/dir]
适用对象:
功能:删除文件或目录。rm不带选项只能删除普通文件。

  • 常用选项:
    -f 即使文件属性为只读(即写保护),亦直接删除,即强制删除。
    -i 删除前逐一询问确认
    -r 删除目录及以下所有文件。
[root@VM-12-4-centos d4]# touch test1.c
[root@VM-12-4-centos d4]# touch test2.cpp
[root@VM-12-4-centos d4]# touch test3.c
[root@VM-12-4-centos d4]# ls
test1.c  test2.cpp  test3.c
[root@VM-12-4-centos d4]# rm -rf *.c
[root@VM-12-4-centos d4]# ls
test2.cpp
  • *是一种通配结构,rm -rf .c 表示删除所有.c后缀的文件

Linux没有回收站,删了就是删了。也不是不能恢复,就是成本大。

man命令

语法:man[选项]命令
功能:联机查看手册

  • 常用选项
    -k 根据关键字搜索链接帮助
    num 只在第num章章节找
    -a 将所有章节都显示出来
  • 手册分为8章
    1.是普通的命令
    2.是系统调用
    3.是库函数
    5.是指文件格式
    6.是由各个游戏定义
    7.是附件还有一些变量
    8.是系统管理用的命令

云服务器的man手册一般是精简版。需要自己配置齐全

[root@VM-12-4-centos d4]# yum install -y man-pages

操作:
q:推出
上下移动键:上下翻阅

使用man指令时,如果没有只有想查询的对象,没有相应手册章节,就会从第一章依次往下找

cp指令

语法:cp[选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时存在两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已经存在的,则会出现错误信息

  • 常用选项
    -f或–force 强行复制文件或目录,不论目标文件或目录是否已经存在
    -i或-interative 覆盖文件之前先询问用户
    -r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理
    -R 递归处理,将指定目录下的文件或子目录一并处理

nano:可以以记事本的方式打开文件(没有语法提示)

在这里插入图片描述
-r
在这里插入图片描述

 [root@VM-12-4-centos dir]# touch hello.c
[root@VM-12-4-centos dir]# pwd
/root/dir
[root@VM-12-4-centos dir]# ls
hello.c
[root@VM-12-4-centos dir]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 22 20:47 hello.c
[root@VM-12-4-centos dir]# nano hello.c
[root@VM-12-4-centos dir]# cat hello.c
#include<stdio.h>
int main()
{
	printf("hello nano\n");
	return 0;
}
[root@VM-12-4-centos dir]# ^C
[root@VM-12-4-centos dir]# pwd
/root/dir
[root@VM-12-4-centos dir]# ls
hello.c
[root@VM-12-4-centos dir]# cp hello.c /root/copy
[root@VM-12-4-centos dir]# ls /root/copy
hello.c
[root@VM-12-4-centos dir]# rm -rfi /root/copy
rm: descend into directory ‘/root/copy’? y
rm: remove regular file ‘/root/copy/hello.c’? y
rm: remove directory ‘/root/copy’? y
[root@VM-12-4-centos dir]# ls
hello.c
[root@VM-12-4-centos dir]# ls /root
dir  test.txt

mv指令

语法:mv[选项] 源文件或目录 目标文件或目录
功能:视mv命令中第二个参数类型的不同(目标文件还是目标目录), mv将文件重命名或将其移至一个新的目录中

  • 常用选项:
    -f:如果目标文件已经存在,不会询问而直接覆盖
    -i:若目标文件已经存在,会询问是否覆盖
    重命名:
    在这里插入图片描述
    剪切
    在这里插入图片描述
    也可以重命名的同时剪切
    在这里插入图片描述

cat指令

语法:cat [选项] [文件]
功能:查看目标文件内容

  • 常用选项:
    -b 对非空输出行编号
    -n 对输出行编号
    -s 不输出多行空行

tac 是逆向的cat

输出重定向: 只是用cat,当光标开始闪动时,输入什么就输出什么,即从键盘读取数据
cat < file.txt 本来应该从键盘读取内容,变成从文件中读取(<可以省略)
cat file.txt > bak.txt 把file中的内容写进bak
cat <file.txt > bak.txt 先把file中的内容读到程序里,再把本来应该打印到显示屏上的内容写进文件bak

more 指令

语法:more [选项] [文件]
功能:功能类似cat

  • 常用选项:
    -n 对输出的所有行编号
    q 退出more

more file.txt 如果内容足够多,会显示一屏幕,按回车向下逐行显示
more -5 file.txt 先显示五行,按回车向下逐行显示

less指令

语法:less[参数]文件

  • 选项:
    -i 忽略搜索时的大小写
    -N 显示每行的行号
    /字符串 向下搜索“字符串”
    ?字符串 向上搜索“字符串”
    n 重复前一个搜索
    N 反向重复前一个搜索
    q quit
    g 返回第一行

less file.txt 打满一屏幕, 阅读长文本时,按上下键可以上下翻阅

echo

在这里插入图片描述

echo “hello world” 直接打印到显示器上
ehco “hello world” > file.txt
输出重定向:1.如果目标文件不存在,会先创建;反之,直接进行访问。2.访问:“>”输出重定向(从文件开始,覆盖式的写入)、“>>”追加重定向(从文件的结尾,追加式的写入)

">"代表输出重定向,虽然左边什么都没写,但是打开文件时,默认清空文件

在这里插入图片描述
追加重定向
在这里插入图片描述

echo “-l -a -i” | xargs ls 将管道的输出结果,作为命令行参数,交给ls

head

语法:head[参数][文件]
功能:用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
选项:-n (这里n是想要提取的行数) 显示的行数 eg. head -6 file.txt

tail

语法:tail[参数][文件]
功能:用来显示文件末尾内容。不指定文件时,作为输入信息处理

  • 选项:
    -n (n表示想要提取的行数) 显示行数
    -f 循环读取

假如说要取[60,66]行的内容:
1.可以通过创建临时文件的方案,来进行提取中间部分
head -66 file.txt > temp.txt
tail -7 temp.txt
2.管道:
管道是用于传输数据的,所以一定会有入口与出口
head -66 file.txt | tail -7 | wc -l
把head原本要打印到显示器的内容打印到管道里,把本应在文件中读取内容的tail改为在管道中读取, "wc -l"显示提取行个数
管道文件时内存级的文件,没有在磁盘上

date

1.显示时间
date指定格式显示时间,eg.date +%Y:%m:%d-%H:%M:%S

%Y年份
%m月份
%d
%H小时
%M分钟
%S
%X相当于%H:%M:% S
%F相当于%Y-%m-%d
2.时间戳
时间->时间戳:date +%s
时间戳->时间:date -d@1668583915 也可以转成特定格式eg.date +%Y:%m:%d-%H:%M:%S -d@1668583915
Unix时间戳是从1970.1.1的午夜(格林尼治时间,换成北京时间是1970.1.1-08:00:00)开始所经过的秒数

cal

格式:cal[参数][月份][年份]
功能:用于查看日历等时间信息,如果只有一个参数,则表示年份;如果有两个参数,则表示月份、年份

  • 选项:
    -3 显示系统前一个月、当前月、下一个月的月历
    -j 显示在当年中的第几天
    -y 显示当前年份的日历

find

Linux下find命令在目录结构中搜索文件,并执行指定功能

which

which ls
在系统路径中,去查找特定得指令所在得路径

whereis

alias

alias zhangsan= ‘ls-al’
给ls-al起别名为zhangsan。(起别名只在本次登录有效)

grep

语法:grep[选项]搜索字符串 文件
功能:在文件中搜索字符串,将找到的行打印出来。eg.grep ‘6’ file.txt(将file.txt中带6的,逐行打印出来)

  • 选项:
    -i 忽略大小写的不同(大小写视为相同)
    -n 顺便输出行号
    -v 反向选择(即打印没有‘搜索字符串’内容的那一行)
    -R 递归

grep 行文本过滤工具,会丢弃不包含“搜索字符串”的内容,打印包含“搜索字符串”的内容
‘ ’空 可以和任何内容匹配

zip/unzip

语法:zip -r name.zip 目录或文件
   unzip name.zip 默认是当前路径下
   unzip name.zip -d 指定的路径
功能:将目录或文件压缩成zip格式
选项:-r 递归处理,将指定目录下的所有文件和子目录一并处理

安装zip命令:yum install -y unzip zip

能被打包压缩的,一定是一个整体,有多个文件打包成一个文件——>不容易造成文件缺失
打包压缩,体积变小——>下载时 间变短
,存储占据空间变小

tar

  • 选项:
    -c:建立一个压缩文件的参数指令
    -x:解开一个压缩文件的参数指令
    -t:查看tarfile里面的文件
    -z:是否同时具有gzip的属性(是否需要用gzip压缩)
    -j:是否同时具有bzip2的属性(是否需要用bzip2压缩)
    -v:压缩的过程中显示文件(若文件太大,可以省略-v)
    -f:使用档名(f之后要立即接档名,所以要写到最后)
    -C:解压到指定目录

压缩文件:tar -czvf project.tar.gz ( 其中tar.gz可以简写成tgz:tar -czvf project.tgz)
解压文件:tar -xzvf project.tgz
解压到指定路径:tar -xzvf project.tgz -C /…/…/…(路径)

bc

bc相当于linux下的计算器(退出:quit)
在这里插入图片描述
也可以将表达式通过管道交给bc:echo “1+2+3+9” | bc

stat

stat用于获取文件信息

Access:文件最近被访问(修改也算访问)的时间。
Modify: 文件内容最近被修改的时间。
Change:文件属性最近被修改的时间。有时候文件内容被修改了,其属性也会变化。

这里是引用
对文件进行访问是高频操作,而文件是存储于磁盘上的,如果每次访问文件都对access做修改,那必然涉及对磁盘访问的操作,会降低访问程序的效率。所以Linux内核操作系统对时间做调整,不是每次访问文件,都会修改其access,而是累积到一定时间,才会修改。

uname

功能:获取电脑和操作系统的相关信息

  • 选项:
    -r:查看内核版本
    -a:详细输出所有信息(依次为:内核名称、主机名、内核版本号、内核版本、硬件名、处理器类型、硬件平台类型、操作系统名称)

热键

双击tab
命令补齐
1
ctrl + r
进入历史搜索,然后输入代码片段,就会自动匹配历史记录(上下移动键可以切换带有”输入代码片段“的历史记录),确定后回车即可
shutdown
关机
云服务器可以不关机
history
输入指令的历史记录

ctrl + c终止异常的命令
ctrl + z暂停
alt + enter全屏或取消全屏
两次crtl + d退出shell
whoami查看当前用户名

printf : 格式化打印数据
eg. printf“hello %d\n”, 10

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值