- cd
— cd .
— cd . ./- ls
— ls -l //列表查看
— ls -a //查看所有
— ls -al //列表形式查看所有- pwd
— pwd- touch
— touch name.txt- mkdir
— mkdir name- chmod
— chmod name 777
gedit
—gedit filename
- cp
— cp sourcefilename newfilename
//将当前目录的sourcefile文件复制到当前目录并改名成newfilename
— cp sourcefilename ./xx
//将当前目录的sourcefile文件复制到./xx
详细内容可参考http://c.biancheng.net/view/746.html- mv
— mv sourcefilename newfilename
//将sourcefilename文件改名为newfilename
— mv sourcefilename ./xx
//将sourcefilename文件移动到 ./xx目录
— mv ./xx/sourcefile ./aa/newfilename
//将./xx目录下的sourcefile移动到./aa目录并改名为newfilename- rm
- cat
— cat filename- more
— more filename //分屏显示- less
— filename //浏览文件,类似more
详细内容可参考https://www.runoob.com/linux/linux-comm-less.html- head
— head -n 行数 filename //查看文件头n行- tail
— tail -n 行数 filename //查看文件最后n行
- ln
– ln sourcefile linkfile
给sourcefile创建一个硬链接(类似windows的快捷方式)并命名为linkfile
– ln -s sourcefile softlinkfile
给sourcefile创建一个软链接并命名为softlinkfile- 软链接相当于文件指针,指向源文件,修改软链接文件内容源文件也会被改变
- 硬连接相当于拷贝一整个文件但不占用实际空间,修改硬链接文件内容源文件也会被改变
- 硬连接只允许对存在的文件进行链接,软链接可以对目录或不存在的文件进行链接
详细内容可参考https://www.runoob.com/linux/linux-comm-ln.html
- tar
— tar cvf tarfile sourcefile1 sourcefile2 …sourcefile3
— //将sourcefile1 sourcefile2 …sourcefile3打包成tarfile
![在这里插入图片描述](https://img-blog.csdnimg.cn/20190929121234677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzM4MTM5NTMz,size_16,color_FFFFFF,t_70
— tar xvf file.tar
— 将file.tar解压到当前目录
— tar xvf file.tar -C ./xx
— 将file.tar解压到./xx目录
- gzip
— gzip file
//将file文件压缩成file.gzip并删除源文件
— gzip -d file.gz
//将file.gz解压并删除压缩文件
— gzip -r directory
//将directory下每个文件压缩成.gz格式并删除源文件
— gzip -rd directory
//将directory目录下的每个.gz压缩文件解压并删除压缩文件
- .tar.gz
-tar -zcvf file.tar.gz file1 file2…filen
//将file1 file2…filen压缩成file.tar.gz
-tar -zxvf file.tar.gz
//将file.tar.gz 解压
- time
//执行命令并计时
1)实际时间(real time): 从command命令行开始执行到运行终止的消逝时间;
2)用户CPU时间(user CPU time): 命令执行完成花费的用户CPU时间,即命令在用户态中执行时间总和;
3)系统CPU时间(system CPU time): 命令执行完成花费的系统CPU时间,即命令在核心态中执行时间总和。其中,用户CPU时间和系统CPU时间之和为CPU时间,即命令占用CPU执行的时间总和。实际时间要大于CPU时间,因为Linux是多任务操作系统,往往在执行一条命令时,系统还要处理其它任务。
另一个需要注意的问题是即使每次执行相同命令,但所花费的时间也是不一样,其花费时间是与系统运行相关的。
- find
— find filename
查找并列出当前目录和子目录下的名字和filename相同的文件和目录
— find -name filename
— find filename
//查找并列出当前目录和子目录下的名字和filename相同的文件和目录
— find xxx -name filename
// 查找并列出xxx目录和子目录下的名字和filename相同的文件和目录
— find xxx -iname filename
// 以不区分大小的形式查找并列出xxx目录和子目录下的名字和filename相同的文件和目录
— find xxx -name *.c
//查找xxx目录和子目录所有的.c后缀的文件
更详细内容参考http://c.biancheng.net/view/779.html
linux的信息默认打印到stdout终端
使用将信息输入到管道中,然后在管道中进行查找
编写号shell脚本文件然后用bash解释器来执行脚本文件
- 输入
在命令模式下按 i 可以在当前光标处输入
在命令模式下按 o 可以在当前光标的下一行另起一行进行输入- shift+:
wq保存并退出
q!不保存直接退出- set nu显示行号
- 配置文件
- /ect/vim/vimrc
在vimrc配置文件的最后一行中添加set number
下次使用vim时会自动显示行号
ctrl + b 向后滚动一屏幕
ctrl + f 向前滚动一屏幕
ctrl + u 先上半屏幕
ctrl + d 先下半屏幕
行号+gg跳到该行(行号+shift+g)
gg跳至首行
shift+g跳至最后一行
ctrl + g显示状态(当前文件名,总行数,当前行数占总行数的百分比)(当前光标行数和列数)
H跳至当前屏幕的顶行
L跳至当前屏幕的最后一行
h 光标向前移动一个位置
l 光标向后移动一个位置
home 跳至行首
end 跳至行尾
ctrl + home 跳至首行
ctrl + end 跳至最后一行
命令模式下按 x 剪切光标处的字符
命令模式下按 p 粘贴剪切内容在光标处的后方
命令模式下按 数字 + x 剪切光标处及后方的字符(剪切数量为输入的数字)
命令模式下按 d + w 剪切光标处到空格之间的内容(包括空格)
命令模式下按[n] + d + w 剪切光标处到第n个空格之间的内容(包括空格)
命令模式下按 dd剪切当前整行
命令模式下按 p 粘贴剪切内容在光标处的下方
命令模式下按[n] + dd剪切n行
命令模式下 D 剪切当前光标处到行尾的所有内容
命令模式下 yy 复制当前整行
命令模式下 y + ↑/↓复制当前行和上一行或下一行
命令模式下 [n] + yy 复制n行
命令模式下按 u 撤销
命令模式下按 ctrl + r 恢复撤销
目标:依赖1 依赖2 … 依赖n
Tab键 执行语句
clean:
Tab键 执行语句
https://www.cnblogs.com/zhouyinhui/archive/2010/02/01/1661078.html
PATH用途就是当用户要求系统运行一个程序而没有告诉它程序所在的完整路径时,系统除了在当前目录下寻找此程序外,还要到PATH变量中指定的路径去寻找。用户可以通过设置PATH变量,来更好的运行进程。
Linux中常见的环境变量有:
1.PATH:指定命令的搜索路径
2.HOME:指定用户的主工作目录(即用户登陆到Linux系统中时,默认的目录)
3.HISTSIZE:指保存历史命令记录的条数。
4.LOGNAME:指当前用户的登录名。
5.HOSTNAME:指主机的名称,许多应用程序如果要用到主机名的话,通常是从这个环境变量中来取得的。
6.SHELL:指当前用户用的是哪种Shell。
7.LANG/LANGUGE:和语言相关的环境变量,使用多种语言的用户可以修改此环境变量。
8.MAIL:指当前用户的邮件存放目录。
9.PS1:命令基本提示符,对于root用户是#,对于普通用户是$。
10.PS2:附属提示符,默认是“>”。
备注:可以通过修改此环境变量来修改当前的命令符,比如下列命令会将提示符修改成字符串“Hello,My NewPrompt ”。
#PS1=“Hello,My NewPrompt”
注意:上述变量的名字并不固定,如HOSTNAME在某些Linux系统中可能设置成HOST
当然,所列举的上述环境变量并非穷尽列出!
Linux也提供了修改和查看环境变量的命令!下面通过几个实例来说明:
1.echo 显示某个环境变量值 echo $PATH
2.export 设置一个新的环境变量 export HELLO=“hello” (可以无引号)
3.env 显示所有环境变量
4.set 显示本地定义的shell变量
5.unset 清除环境变量 unset HELLO
6.readonly 设置只读环境变量 readonly HELLO
PATH=$PATH:路径
格式: account: password:UID:GID:GECOS:diretory:shell
account:用户名或帐号
password:用户密码占位符
UID:用户的1D号
GID:用户所在组的ID号
GECOS:用户的详细信息(如姓名,年龄,电话等)
diretony:用户所的家目录
shell: 用户所在的编程环境
格式: account: password: 最近更改密码的日期:密码不可更改的天数:密码需要重新更改的天数:密码更改前的警告期限:密码过期的宽限时间:帐号失效日期:保留
– 添加用户
添加新的用户账号使用useradd命令,其语法如下:
useradd 选项 用户名
参数说明:
– 修改用户
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录Shell等。
修改已有用户的信息使用usermod命令,其格式如下:
usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
– 删除用户
删除一个已有的用户账号使用userdel命令,其格式如下:
userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
– 添加用户组
增加一个新的用户组使用groupadd命令。其格式如下:
groupadd 选项 用户组
可以使用的选项有:
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
– 修改用户组
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
– 删除用户组
文件类型 所有者权限 所属组权限 其他用户权限 所有者 所属组 修改时间 文件名
其中file_test文件为一般文件
其所有者拥有读写权限
其所属组拥有读写权限
其他用户只拥有读权限
所有者snowynight
所属组snowynight
修改时间…
文件名file_test
可选项:
-c, --changes like verbose but report only when a change is made (若该档案权限确实已经更改,才显示其更改动作)
-f, --silent, --quiet suppress most error messages (若该档案权限无法被更改也不要显示错误讯息)
-v, --verbose output a diagnostic for every file processed(显示权限变更的详细资料)
–no-preserve-root do not treat ‘/’ specially (the default)
–preserve-root fail to operate recursively on ‘/’
–reference=RFILE use RFILE’s mode instead of MODE values
-R, --recursive change files and directories recursively (以递归的方式对目前目录下的所有档案与子目录进行相同的权限变更)
–help 显示此帮助信息
–version 显示版本信息
mode :权限设定字串,详细格式如下:
[ugoa…][[±=][rwxX]…][,…],其中
[ugoa…]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示所有(包含上面三者)。
[±=]
+表示增加权限,- 表示取消权限,= 表示唯一设定权限。
+[rwxX]
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
file…
文件列表(单个或者多个文件、文件夹)
使用权限:root
说明:
[可选项] : 同上文chmod
user : 新的文件拥有者的使用者
group : 新的文件拥有者的使用者群体(group)
https://www.cnblogs.com/ccdc/p/4428555.html
安装
– apt install samba
– apt install smbfs
创建共享目录
– mkdir /home/snowynight/Desktop/samba_test
– chmod 777 ./samba_test
修改samba配置文件
– vim /etc/samba/smb.conf
创建samba账户
– touch /etc/samba/smbpasswd
– smbpasswd -a snowynight
– 输入密码
https://www.linuxidc.com/Linux/2018-11/155466.htm
https://blog.csdn.net/sdfshfh/article/details/83869021
— sudo passwd user_ftp_test
— sudo vim /etc/vsftpd.conf//用户配置文件
— sudo vim /etc/allowed_users//配置白名单
— sudo vim /etc/ftpusers //配置黑名单
– 权限配置
— 运行上传local_enable=YES
— 运行登入write_enable=YES
ftp进入ftp模式运行
open IP地址
输入服务器名字
输入服务器密码