1. 终端中各字符含义
leeqb@GL552JX:~$
leeqb → 用户名
@ → 分隔符
GL552JX → 主机名
~ → 家目录(相对的)
: → 与$之间为当前所在目录绝对路径
$ → 普通用户,超级用户显示的是#,进入超级用户:命令前加sudo
2. 命令
命令的格式:
cmd opt arg
命令 操作 文件
1. cd(切换目录)
1. cd 目录名(文件夹名)
#例:
leeqb@GL552JX:~$ cd public
2.cd 路径
1>绝对路径
从根目录开始一层一层递进
2>相对路径
相对于当前目录
#例:
leeqb@GL552JX:~$ cd public/linux/
3. cd //直接回到家目录
4. cd . //当前目录
5. cd .. //上一级目录
6. cd - //上次打开的目录
2. ls(显示当前目录下的文件名)
ls //单独的来使用:查看当前目录下的文件名
ls 路径 //查看路径下文件名
ls -a //显示所有文件(包含隐藏文件,文件名以“.”开头为隐藏文件)
ls -i //显示文件inode号,通过文件inode号管理文件,在同一分区内文件
inode号不会重复
ls -l //以长格式显示信息
ls a*.conf //星号表示所有 ,显示所有以a开头后缀是conf的文件
ls 文件夹 -r //递归查看文件夹内容
#命令可以组合使用,如:
ls -ali #会显示出以下信息:
drwxr-xr-x 28 root root 4096 2月 21 14:34 123
-rwxr-xr-x 1 root root 6473 2月 21 10:45 a.out
part.1 第一个字母为文件类型:
7种文件类型
- 普通文件
d 目录文件
c 字符设备文件
b 块设备文件
p 管道文件
s socket网络套接字文件
l 链接文件(符号)
链接方式
1.硬链接
2.符号链接
part.2 文件权限
(1.字符方式表示 2.数字方式表示(八进制))
(1.基本权限 2.高级权限)
如:rwxr-xr-x a.out
rwx(前三个) 文件所有者的权限
r-x (中三个) 文件所属组的权限
r-x (后三个) 其他用户的权限
各字母含义: 数字表示
r 可读 4
w 可写 2
x 可执行 1
- 无(该处没有权限) 0
用数字的方式描述a.out文件的权限是 755
如果用数字的方式描述文件权限的话,范围是(000 ~ 777)
例:
rwxrw-r-- zack zack 1.txt
权限 所属者 所属组 文件名
1.zack这个用户访问1.txt文件有什么权限?
rwx
2.假如tom用户和zack用户在同一组(zack组),tom这个用户访问1.txt文件有什么权限?
rw-
3.jack这个用户访问1.txt文件有什么权限?
r--
part.3 文件连接数
part.4 文件所属者
part.5 文件所属组
part.6 文件大小
part.7 文件最后修改日期
part.8 文件名
自定义命令: alias 命令=“ ….自定义 ”
删除自定义命令 unalias 命令
\6. atime 最后一次被读的时间
mtime 最后一次修改的时间 (文件内容)
ctime 最后一次亚文件被修改的时间
\7. 创建文件: touch +文件名字
\8. 创建文件夹: mkdir 文件夹名
\9. 把文件搜有内容打印输出到终端中cat 文件名
\10. 删除:rm 名字
3.touch (创建普通性质文件)
1.touch 文件名
可以touch相同的文件名(普通性质文件/目录文件)
修改的是最后修改时间,文件内容不变
2.touch 文件名 文件名 ...
可以创建多个文件
3.touch {1..20}
可以创建1-20个普通性质文件
(或者{a..z})
4.touch 路径/文件名 //路径必须是已有的
代表在该目录下创建文件
4.mkdir(创建目录文件)
1.mkdir 文件名
不可以mkdir相同的目录文件名,报错
2.mkdir 文件名 文件名 ...
可以创建多个文件
3.mkdir {1..20}
可以创建1-20个普通性质文件
(或者{a..z})
4.mkdir 路径/目录文件名 //路径必须是已有的
代表在该目录下创建目录文件
5.mkdir 文件夹/文件夹/文件夹 -p //创建不存在的文件夹下的文件夹
5.cat(查看文件内容(普通文件))
cat 文件名
把文件的所有内容打印输出到终端中
less
从文件起始位置开始显示,鼠标可以翻阅,q退出
more
从文件起始位置开始显示(有百分比),s可以向下翻阅b可以向上翻阅,q退出
head
默认打印文件开头10行
tail
默认打印文件末尾10行
6.cp(拷贝文件)
1.cp 源文件 目标文件
2.cp -r(拷贝目录时)
-r 递归的操作
例:如果在50个文件中指向复制3个文件到其他目录
cp {fcodpamdpoa,mdslamda,snajda} ../xyz
7.diff(比较两个文件是否相同)
diff file1 file2
1.如果没有任何提示,代表两个文件内容相同
2.如果有提示,代表某一行不相同
8.mv(剪切/移动/改名字)
mv 源文件名 目标文件名
1.mv 123 abc
把123改成abc名字
2.mv abc ..
把abc剪切到上一级目录
9.rm(删除)
1.rm filename
删除filename,有询问
2.rm filename1 filename2 filename3
删除filename(1-3),有询问
3.rm {a..z}
删除a-z文件,有询问
4.rm *
*该目录下的所有文件
*.c代表所有以.c结尾的文件
5.rm -f(force强制)
强制删除(删除时不询问)
6.rm -r(递归的操作)
不要轻易使用
rm -rf
[root@localhost /]# rm -rf * #删除系统下的所有文件
10.ln
1.ln 源文件 目标文件
创建硬链接文件
源文件和目标文件共用同一个inode号
任意修改其中一个文件另一个文件改变
删掉源文件对目标文件没有影响
//硬链接是同一块内存的不同名字 没有产生新文件 rm只是删除硬链接数量
2.ln -s 源文件 目标文件
创建符号链接文件
源文件和目标文件不共用一个inode号
任意修改其中一个文件另一个文件改变
删掉源文件对目标文件有影响
//相当于windows的快捷方式
例:src为符号链接文件
-
zack@test$ rm -rf src zack@test$ ls dest zack@test$ vim dest zack@test$ ls dest src zack@test$ cat src 1 2 3
代表当删掉源文件,打开符号链接文件,进行编辑,保存退出之后
源文件又被创建了
11.grep 针对文件内容进行过滤
grep 'root' /etc/passwd
grep --color 'root' /etc/passwd
grep --color '^root' /etc/passwd
grep --color 'bash$' /etc/passwd
grep 'failure' /var/log/secure
#^查找的内容出现在行首
#$查找的内容出现在行尾
12. ctrl+R
关键词搜索命令历史记录
13. 自定义命令
alias 实际命令 = “ 自定义命令”
删除自定义命令 unalias 命令
14.文件压缩
压缩和解压缩
1.bz2格式
压缩:bzip2 filename
解压缩: bunzip2 filename.bz2
特点:都是默认不保留原文件,不能针对于目录
2.gz格式
压缩:gzip filename
解压缩:gunzip filename.gz
特点:都是默认不保留原文件,不能针对于目录
3.zip格式
压缩:zip new.zip new1 new2 dir1 dir2
解压缩: unzip new.zip
4.打包并压缩
tar
-c:创建包
-v:显示过程
-f:后跟包名
-x:解包
-r:向现有包中追加文件
-t:显示包中包含的文件
-z:压缩成gz格式
-j: 压缩成bz2格式
-C:指定解压位置
tar -cvf bao.tar file1 file2 dir1 dir2...
#将 file1 file2 dir1 dir2 打包进bao.tar
tar -tvf bao.tar
#显示包内所有文件的详细信息
tar -rvf bao.tar file3
#将file3追加进包bao.tar内
tar -cjvf bao.tar.bz2 file1 file2 dir1 dir2...
#将file1 file2 dir1 dir2...打包并压缩成bz2格式的文件
tar -czvf bao.tar.gz file1 file2 dir1 dir2...
#将file1 file2 dir1 dir2...打包并压缩成gz格式的文件
tar -xzvf bao.tar.gz
#将bao.tar.gz解压并解包
15.ubuntu下安装软件包
ubuntu默认是不支持用root用户登录的,也不提倡大家用root登录;
如果要完成一些需要root权限的操作,请使用sudo xxx执行;
(1)安装已经下载的deb包
如果已经下载了deb包,可以直接安装:
sudo dpkg -i xxx.deb
类似于redhat中用rpm -ivh安装rpm包;
不推荐这种安装方式,因为很可能会因为依赖的包没有提前装好而失败;
(2)通过联网方式安装软件包
在ubuntu中,强烈推荐采用联网方式安装:
sudo apt-get install xxx
//xxx为要安装的软件,如vim等
有时候可能会出现依赖方面的问题或者冲突,此时可以尝试:
sudo apt-get -f install