前提:首先安装虚拟机以及Ubuntu系统,其中遇到 主机支持Inter VT-X但禁用 的提示需要进入bios将visual设置打开 接着根据需要来安装需要的软件,这里先安装vim以及gcc 一、 目录的常用命令: 1. ls 查看当前目录下的内容 ls -l 列出长数据串,包含文件的权限和属性 ls -a (all) 列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来 ls -d 仅列出目录本身,不列出目录内容 ls -R 连同子目录的内容一起递归列出(改目录下的内容全都会显示出来) ls file1 file2 列出f1和f2两个目录文件中所包含的目录项,并隐含指出按英文字母顺序列表 2. cd 进入/退出目录 3. mkdir 建立新的文件夹 mkdir dir{1,2,3} mkdir dir1 dir2 dir3 创建多个目录 mkdir -p mp1/mp2/mp3 创建联级目录 4. cp file1 目标目录 -r 递归持续复制,用于目录的复制 cp file1(原文件) file2(复制后的文件) 用于文件的复制 cp -i file1 file2 若目标文件已经存在时,在覆盖时会先询问 cp -u file1 file2 目标文件与源文件有差异时才会复制 cp -a file1 file2 将文件的特性一块复制 cp -p file1 file2 和-a差不多,常用于备份 5. mv file 目标目录 移动文件至目标目录 也可以移动很多文件,只要最后是目标文件夹,中途不出现目录就行 而且linux没有改名命令,需要在移动的时候改名 如果只想单单改名的话就只在当前目录mv file1 file2 6. rm 文件 删除文件 rmdir 目标空文件夹 只能删除空的文件夹 rm -r 目标文件夹 (递归)删除非空文件夹 二、文件的常用命令 1. echo xxx 重定向 > 覆盖原文件 echo xxx 重定向 >> 追加原文件 2. 查看文本内容 more filename 查看文件内容 ctrl b前翻 ctrl f 后翻 less filename 和more用法相同,但是看完最后一行内容不自动退出(more自动退出),需要按q才会退出 3. 查看很长文件的前x行和后x行 head -x filename tail -x filename 4. 多个文件一起查看 cat file1 file2 .... cat file1 file2 file3... >(>>) file4 把n个文件连到一块成为file4 5. grep 关键字 目标文件/目录文件 匹配文件中的行 6. more file | grep 关键字 将要输出的内容交给grep先匹配再输出 m
三、文件的压缩和打包 打包和压缩是不一样的,打包(tar)是把很多小文件放在一起,容量不变,压缩是用算法将文件大小容量变小 1. 打包和解包 打包: tar cfv xxx.tar 目标文件 (其中cfv分别指create/file/view? 能看到过程 不想看到过程就把v去掉) 解包:tar xfv xxx.tar 2. 打包 压缩,解压 解包 一般都一起用
四、文件的查找 1. 根据文件后缀名找 find 目标目录/*.后缀 2.
五、Liunx系统命令 多用户多任务 1. whoami 显示当前的用户 who 显示谁在线 2. su - 用户名 切换用户 su后加-的话不仅账户切换过去了,环境变量什么的也都切换过去了,不加-的话,仅仅使用这个用户的权限,不使用其他 3. free查看内存 4. top 查看资源管理器 5. ps -aux 查看进程 ps -aux | grep 关键字 查看关键字的进程 6. kill 进程号 杀掉进程,root身份运行 pkill 进程名 通过进程名杀进程,注意杀掉的是 *进程名* 的进程
六、文件的挂载
七、命令模式下的光标移动快捷键
八、Linux的用户管理 1. 添加组 sudo -s 将用户身份提升为管理员 groupadd 组名 添加组(系统自动分配id) groupadd -g id 组名 添加组(自己指定id) more /ect/group 进行查看 2. 修改组 groupmod -g 新id 原组名 groupmod -n 新组名 原组名 3. 删除组 groupdel 组名
4. 添加一个用户 useradd 用户名 添加一个用户会自动添加一个与用户同名的组 所以我们添加用户的时候指定组 useradd 用户名 -g 原先存在的组名 useradd 用户名 -d 家目录 修改家目录 新建的poly也属于1002组 所以显示组的时候不会显示poly 5. 修改用户 usermod -g 要移动到的组名 要移动的组名 移动用户去别的组 6. 删除用户 userdel 用户名
九、权限管理 1. 读(read 4)、写(write 2)、执行权限(excute 1) rwx 7 -wx 3 rw- 6 -w- 2 r-x 5 --x r-- 4 2. 用户的三种身份 主人user 同组group 不认识other (u 7 g 5 o 5) 3. 修改权限的办法(两种) 相对法和绝对法 相对法:在原有权限基础上,对不同的角色进行权限的加/减 1. chmod u /- r/w/x 文件名 先写一个小脚本test.sh ll 查看文件权限,这里可以看到test.sh的user权限是rw 不可执行 此时修改权限 chmod u x test.sh 此时文件就有了执行的权限 ./test.sh 执行一下 如果将此文件的权限变成 ---- -wx --x,需执行 chmod u-rwx test.sh / chmod g-r wx test.sh / chmod o-r x test.sh 2. 修改一个文件的主人和组 chown 新用户 文件 chgrp 新组名 文件
绝对法:不需要考虑之前的角色以及对应的权限,直接指定最终的各角色权限 比如上面的例子,如果将test.sh修改回原来的权限,只需要 chmod 744(自己计算) test.sh 适合改动比较大的
十、rpm软件管理包 三种安装软件方法 rpm/yum/软件编译 rpm red hat package manager是一个开放的软件包管理系统 RPM有五大功能:安装卸载升级查询验证 RPM包名称有其特有的格式 name-version.type.rpm rpm -i <rpm file name> 安装特定的软件 rpm -e <package name> 卸载软件 rpm -q <package name> 查询特定的软件包是否在系统里被安装 rpm -U <rpm file name> 升级 yum 管理rpm包的后台程序,用python写成
十一、安装mysql sudo apt-get install mysql-server mysql-client 安装完成过后需要切换到root用户下才能登录,而且默认安装后mysql是没有密码的,此时需要进入mysql里修改密码 1.update mysql.user set authentication_string=PASSWORD(“8888″) where User=’root’ and Host ='localhost'; 2.update mysql.user set plugin=”mysql_native_password”; 3.flush privileges; 4.quit; 然后再重启mysql服务 sudo /etc/init.d/mysql stop/start 此时就能用密码登录mysql了 ****MySQL安装后的目录结构分析(此结构只针对于使用apt-get install 在线安装情况): 数据库存放目录: /var/lib/mysql/ 相关配置文件存放目录: /usr/share/mysql 相关命令存放目录: /usr/bin(mysqladmin mysqldump等命令) 启动脚步存放目录: /etc/rc.d/init.d/
首先打开一个终端,在终端里能做的操作,以及在终端里执行的命令,都能同样的写到.sh脚本里去(参照windows下的.bat文件来理解) 1.现在来写一个最简单的脚本文件
2.自定义变量/系统变量/命令值返回变量
3. 命令表达式/文件判断表达式 格式 [-d ./filename] -d 判断文件是否存在且是目录 -f 文件是否存在且是文件 -e 是否存在 -r是否可读 -w是否可写 -x是否可执行
十三、定时任务 crontab -e 进入任务编辑状态 格式:*****(分时日月周) 命令 例如: 21*** aaa # 每天1:02执行aaa命令 */2**** bbb #代表每两分钟执行bbb命令
执行结果会被发送到root邮箱里,如果不想收到定时任务的信息,可以把输出重定向 21*** aaa >/dev/null 2>&1
十四、数据库的定期备份 目标:每天三点,导出sql,压缩,并按日期存储在/data 下 知识:crontab定时任务 mysqldump导出 tar压缩 按日期创建文件 1.按日期创建文件 date %Y%m%d%H%M date -d "-3 minutes" %Y%m%d%H%M 2.mysqldump导出 注意mysqldump的命令所在文件夹 (我这里是/usr/bin) 执行: /usr/bin/mysqldump -uroot -p(密码) -B(数据库名) > /data/filename.sql 3.tar压缩 tar cfvz /data/文件名.tar.gz /data/filename.sql 4.定时任务 */1 **** /bin/bash /data/bak.sh
来源:http://www./content-3-129201.html |
|