$ su Eric | 切换到Eric这个用户 |
---|---|
$ su | 切换到特权用户root |
注意:Ubuntu默认情况没有合法root权限,不能直接使用su命令提升到root权限,只能使用sudo获取root权限
$ sudo su | 切换到root用户 |
---|---|
$ sudo rm root.txt | 切换到特权用户root |
pwd cd
cd 目录路径 | 进入指定目录 |
---|---|
cd . . | 返回目录 |
cd / | 进入根目录 |
cd 或cd~ | 进去用户主目录 |
cd ./* | 进去当前目录下*表示的子目录 |
ls | 显示当前目录下所有文件和子目录 |
---|---|
ls -F | 分类显示,方便阅读 |
ls -a | 显示隐藏文件 |
ls -l | 查看文件的各个属性 |
dir和ls差不多,但功能少, vdir相当于ls -l
mkdir ***或mkdir -p ***
mkdir | 创建相应目录,如果父级目录路径不存在,则创建失败 |
---|---|
mkdir -p | 创建相应目录,如果父级路径不存在,则一起创建 |
移动
如:mv test/text.txt test1/ -----------------将test目录下的text.txt文件移动到test1目录下
mv | 将源文件移动到目标文件,如果文件存在就替换 |
---|---|
mv -i | 将源文件移动到目标文件,如果文件存在则提示是否替换 |
mv-b | 将源文件移动到目标文件,如果文件存在则不覆盖在文件名后加~ |
复制
如:cp test1/text.txt test/ -------------将test1下text.txt文件复制到test下
cp | 将源文件复制到目标文件,如果存在就替换 |
---|---|
cp -i | 将源文件复制到目标文件下,如果存在就提示是否替换 |
cp -b | 将源文件移动到目标文件,如果文件存在则不覆盖在文件名后加~ |
cp -r | 将子目录及其中文件一起复制到另一个目录下 |
删除
如:rm text.txt–直接删除text.txt文件
rm | 删除文件或相应目录,不给予任何提示 |
---|---|
rm -i | 删除文件或目录,删除时提醒 |
rm -f | 强制性删除文件或相应目录 |
rm -r | 将子目录及其中文件一并删除 |
如: ln text.txt test
ln | 创建硬连接,ls-i查看可以看到两个文件inode一致 |
---|---|
ln -s | 创建软连接,即别名,如果源文件删除,则软链接也不可访问 |
如:chown root:xq text.txt — chwon + 文件属主(用户)+(可以用 : 或 . ) + 文件属组 + 文件名
不带参数 | 改变单个或多个文件的属主和属组 |
---|---|
-r | 改变一个目录下所有文件和子目录的所有权限设置 |
chgrp
如:chgrp root text.txt --------chgrp + 组 + 文件名 -----(改变文件属组)
以“用户组 +/- 权限”的表达方式来增加/删除相应的权限。具体来说,用户组包括了文件属主(u)、文件属组(g)、其他人(o) 和所有人(a),而权限则包括读取(r、w、x)
写法:
1>chmod u+r text.txt — 给用户加读的权限
2>chmod g+w,o+x text.txt -----给文件属组加写权限,并给其他人加执行权限,text.txt文档名
3>chmod 777 text.txt – 给用户,文件属组,其他人权限(读,写,执行)
777来历: rwx == 0111 == 7;
如:r-x表示只有写和执行权限 r-x == 0101 == 5
那么: rwxrwxrwx == 0111 0111 0111 === 777
rwxrwxr-x == 0111 0111 0101 == 775
drwxrwxrwx意思: d 表示文件 , 第一个rwx表示用户有读,写,执行权限 , 第二个rwx表示文件属组有读,写,执行权限 , 第三个 rwx 其他人有读,写,执行权限.(r–读 , w – 写 x – 执行).
用法:head 文件名
tail 文件名
显示文件头部\尾部10行
head -n 文件名 按指定的行显示文件头部/尾部,如:head -20 text.txt
cat 一次性查看全部文本内容,后跟文件名做参数,可以加-n显示行号
more 分页查看内容,空格翻页,回车下一行,q退出
less 文本阅读工具
搜索字符串
前提:须切换到命令模式
/string 用于向下搜索一个字符串
?string 用于向上搜索一个字符串
如果需要启动或关闭大小写敏感,执行:
:set ignorecase
或
:set noignorecase
语法
:syntax on ## 语法高亮
:set autoindent ## 自动缩进
:set shiftwidth=4 ## 设置 Tab 键对应的空格数
在指定范围内迅速找查文件
find [OPTION] [path . . .] [expression]
$find /usr -name test.txt
find -name test.txt
常用参数
-type | 查找时指定文件的类型,可使用参数如下表; |
---|---|
-atime n | 查找最后一次使用在 n 天前的文件,n 使用负数表示 |
-mtime | 查找最后一次修改在 n 天前的文件 |
-maxdepth n | 查找目录的最大深度 |
-mindepth n | 从指定的目录的第几层深度开始查找 |
快速定位文件
locate test/test.c locate + 文件路径名 updatedb更新数据库
用法: locate [expression] pattern
locate 并不进入子目录进行搜索,它通过检索数据库来确定文件的位置。可以使用 updatedb来更新检索数据库
在文件中寻找某些信息
grep 123 test.c grep + 找查内容 + 文件名
用法: grep [OPTIONS] PATTERN [FILE…] ## pattern 使用基础正则表达式
/
$grep open ./test.c
编译 C++程序,我们可以直接用 GCC 编译其中的 g ++命令,用法同 gcc;当然 g++ 和 gcc都可以用来编译 c 和 c++程序。gcc 编译 c++程序需要带上 -lstdc++ 指定使用 c++库。
注:安装 g++时如果很慢,建议:
使用 vim 编辑 /etc/apt/sources.list 文件,在文件的尾部换行加入如下内容:
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe
multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main
restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/
bionic-updates main restricted universe multiverse deb
http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted
universe multiverse deb http://mirrors.aliyun.com/ubuntu/
bionic-backports main restricted universe multiverse deb-src
http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe
multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security
main restricted universe multiverse deb-src
http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted
universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/
bionic-proposed main restricted universe multiverse deb-src
http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted
universe multiverse
接下来执行: apt-get update 命令,再调用 sudo apt-get install g++
编译常用选项