Linux命令行操作基础
- 作者帖子
- Up::0
1.有关Ubuntu 系统下apt-get 软件安装路径
apt-get 下载后,软件所在路径是
/var/cache/apt/archives
ubuntu 默认的PATH为
PATH=/home/brightman/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
apt-get install安装目录是包的维护者确定的,不是用户
$ dpkg -L packagename、
dpkg -L +软件包的名字,可以知道这个软件包包含了哪些文件
系统安装软件一般在/usr/share,可执行的文件在/usr/bin,配置文件可能安装到了/etc下等。
文档一般在 /usr/share
可执行文件 /usr/bin
配置文件 /etc
lib文件 /usr/lib
- Up::0
2. Linux常用的命令行汇总
1>.查看系统版本号: sudo lsb_release -a
2>.查看当前主机名字: uname -a
3>. 永久修改主机名:vim /etc/hostname, 然后重启系统
4>. 系统更新 sudo apt update && sudo apt upgrade
P1. 文件/文件夹管理
ls 列出当前目录下的所有文件(不显示隐藏文件)
ls -a 列出当前目录下的所有文件(显示隐藏文件)
ls -l列出当前目录下所有文件的详细信息
cd 或者 cd ~进入用户主目录
cd .. 回到上一级目录
cd -返回进入此目录之前所在的目录
mkdir dirname 新建目录
rmdir dirname 删除空目录
rm filename 删除文件
rm -rf dirname 删除非空目录及其包含的所有文件
mv file1 file2将文件1重命名为文件2
mv file1 dir1 将文件1移动到目录1中
find 路径 -name “字符串” 查找路径所在范围内满足字符串匹配的文件和目录P2、程序安装与卸载
apt-get 程序安装与卸载命令的标志,需要管理员权限
install 安装指定程序,举例:sudo apt-get install vim
remove 卸载指定的程序,一般最好加上“–purge”执行清除
式卸载;并在程序名称后添加*号。举例:sudo apt-get remove –purge nvidia* 卸载 nvidia 的驱动及其配置文件
update 更新本地软件源文件,需要管理员权限,举例:sudo apt-get updateP3、打包/解压
这里需要先解释几个参数。参数 含义 参数 含义
-c 建立压缩档案 -z 有gzip属性的
-t 查看内容 -j 有bz2属性的
-u 更新原压缩包中的文件 -Z 有compress属性的
-x 解压 -v 显示所有过程
-r 向压缩归档文件末尾追加文件 -O 将文件解开到标准输出
上表左边五个参数是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。右边五个参数是根据需要在压缩或解压时可选的。
下面进行举例说明。压缩命令
tar -cvf jpg.tar *.jpg 将目录里所有jpg文件打包成tar.jpg
tar -czf jpg.tar.gz *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
tar -cjf jpg.tar.bz2 *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
tar -cZf jpg.tar.Z *.jpg 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
rar a jpg.rar *.jpg rar格式的压缩,需要先下载rar for linux
zip jpg.zip *.jpg zip格式的压缩,需要先下载zip for linux解压命令
tar -xvf file.tar 解压 tar包
tar -xzvf file.tar.gz 解压tar.gz
tar -xjvf file.tar.bz2 解压 tar.bz2
tar -xZvf file.tar.Z 解压tar.Z
unrar e file.rar 解压rar
unzip file.zip 解压zip.tar 用 tar -xvf 解压
.gz 用 gzip -d或者gunzip 解压
.tar.gz和.tgz 用 tar -xzf 解压
.bz2 用 bzip2 -d或者用bunzip2 解压
.tar.bz2用tar -xjf 解压
.Z 用 uncompress 解压
.tar.Z 用tar -xZf 解压
.rar 用 unrar e解压
.zip 用 unzip 解压P4、用户管理
sudo useradd username 创建一个新的用户username
sudo passwd username 设置用户username的密码
sudo groupadd groupname 创建一个新的组groupname
sudo usermod -g groupname username 把用户username加入到组groupname中
sudo chown username:groupname dirname 将指定文件的拥有者改为指定的用户或组P5、系统管理
uname -a 查看内核版本
cat /etc/issue 查看ubuntu版本
sudo fdisk -l 查看磁盘信息
df -h 查看硬盘剩余空间
free -m 查看当前的内存使用情况
ps -A 查看当前有哪些进程
kill 进程号或者 killall 进程名 杀死进程
kill -9 进程号 强制杀死进程 - Up::0
3. 如何使用crontab 创建定时任务
在有些业务场景部署时需要创建定时任务,这里用Crontab命令来实现完成。Crontab的时间颗粒度可以精确到分钟,可以实现分钟、小时、日、月、周的任意组合。该命令适合对任务周期性有比较高要求的场合,比如定期分析系统日志、上报状态等。
Crontab的命令行格式
crontab [-u user] file crontab [-u user] [ -e | -l | -r ]
Crontab的命令行参数
-u user:用来设定某个用户的crontab服务;
file:file是命令文件的名字,表示将file做为crontab的任务列表文件并载入crontab。如果在命令行中没有指定这个文件,crontab命令将接受标准输入(键盘)上键入的命令,并将它们载入crontab。
-e:编辑某个用户的crontab文件内容。如果不指定用户,则表示编辑当前用户的crontab文件。
-l:显示某个用户的crontab文件内容,如果不指定用户,则表示显示当前用户的crontab文件内容。
-r:从/var/spool/cron目录中删除某个用户的crontab文件,如果不指定用户,则默认删除当前用户的crontab文件。
-i:在删除用户的crontab文件时给确认提示。
Crontab文件格式第1列分钟0~59
第2列小时0~23(0表示子夜)
第3列日1~31
第4列月1~12
第5列星期0~7(0和7表示星期天)
第6列要运行的命令
Crontab文件创建以Ubuntu 18.04为例,创建一个Crontab文件,实现每天6点和18点定时重启系统,
则输入
#sudo Vim /etc/crontab
添加如下代码
0 0 6,18 * * /sbin/reboot
更多使用样例
实例1:每1分钟执行一次myCommand
* * * * * myCommand每两分钟运行一次
*/2 * * * * myCommand
实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * myCommand实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart实例11:每一小时重启smb
* */1 * * * /etc/init.d/smb restart实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7 * * * /etc/init.d/smb restart保存后退出即可。
如何开启crontab的日志文件?
Ubuntu系统默认是不打开cron日志的,不信你cd 到/var/log目录下是找不到cron.log文件的。
首先我们把cron日志打开
如何打开,很简单,控制台输入
vi /etc/rsyslog.d/50-default.conf
打开文件,在文件中找到cron.*,把前面的#去掉,保存退出,输入
sudo service rsyslog restart
重启系统日志,然后稍微等下应该就能在/var/log目录下看到cron.log
- Up::0
5. Linux实现开机自动挂载硬盘
笔记本的磁盘配置为DISK1 250G + DISK2 500G的组合,安装完Linuxmint后系统文件分布在DISK1上面。DISK2作为文件备份盘使用。
这里有个实时备份的工具,使用到了群晖的Drive服务,要求磁盘随系统启动后备份服务自动进行。在使用过程中发现DISK2在系统重启后不会自动挂载,需要手动点击挂载,此时群晖的Drive备份已经暂停,所以显得有点麻烦。
打开电脑终端:
1># sudo blkid
输入root密码:
/dev/sda1: UUID=”xxx” TYPE=”ext4″ PARTUUID=”xxx”
/dev/sdb1: UUID=”xxx” TYPE=”ntfs” PARTUUID=”xxx”
2>创建磁盘挂载目录,比如这里将磁盘DISK2挂载到media目录下面, 如果是自定义目录,请先创建文件夹
3>编辑/etc/fstab文件:
#sudo vim /etc/fstab
在文件最后一行添加如下内容, 其中UUID是你磁盘的ID。/meida是磁盘挂载的目录点
UUID=xxx /home/media ext4 defaults 0 0
重启系统,可以看到磁盘已经自动挂载完成了。群晖Drive后台同步任务也在自动进行。结束
- Up::0
6. Ubuntu查看版本号、内核等信息
1、登录Ubuntu后,在命令行界面输入cat /etc/issue,点击回车,即可看到ubuntu版本号。
2、或者在命令行输入lsb_release -a,点击回车也可看到ubuntu的版本号。
3、如果要查看系统内核版本,可以在命令行输入cat /proc/version,即可看到Linux内核版本。
4、或者在命令行输入uname -a也可看到Linux内核版本。
- 作者帖子
- 哎呀,回复话题必需登录。